上のツイートを見て、どうやるのがいいか考えてみました。
以下がその方法です。
遅いテストに:slow
タグを付けます(名前は:slow
じゃなくても可)。
it 'めちゃくちゃ遅いやつ', :slow do
# ...
end
.rspec
ファイルに以下の行を追加します。
.rspec
<%= '--tag ~slow' unless ENV['ALL_RUN'] %>
デフォルトでは:slow
タグが付いているテストは実行されなくなります。
# :slowタグが付いているもの以外を実行する
$ bundle exec rspec
全テストを実行したいときは環境変数ALL_RUN
を指定します(ALL_RUN
以外の環境変数名でも可)。
# :slowタグが付いているものも、付いていないものもすべて実行する
$ ALL_RUN=1 bundle exec
もしくは--tag slow
オプションを付けて遅いテストだけを実行することもできます。
# :slowタグが付いているものだけを実行する
$ bundle exec rspec --tag slow
同じようなことをやろうと思っている人は参考にしてみてください!