38
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RSpecで遅いテストをふだんskipして、たまに全部実行する方法

Last updated at Posted at 2022-11-28

上のツイートを見て、どうやるのがいいか考えてみました。
以下がその方法です。

遅いテストに: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

同じようなことをやろうと思っている人は参考にしてみてください!

参考文献

38
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?