require忘れて時間を取られるみたいなことが多々あるので、.rspecを活用するときのメモ
環境
$ bundle exec rspec -v RSpec 3.8 - rspec-core 3.8.0 - rspec-expectations 3.8.2 - rspec-mocks 3.8.0 - rspec-rails 3.8.1 - rspec-support 3.8.0
使い方
設置
rails g rspec:install
上記コマンドで自動的につくられる、以下生成例
$ bin/rails g rspec:install create .rspec create spec create spec/spec_helper.rb create spec/rails_helper.rb
中身としては以下がデフォルト
--require spec_helper
カスタマイズ方法
--require
--require {{ファイル名}}
でspecファイルを実行する前に記述されたファイルをincludeする。
デフォルトでは spec_helper
が書かれているが、これを rails_helper
とすれば rails_helper.rb
が呼ばれる。
--order
テストの実行順番を変えます。
--order [defined]
のように記述します。
[defined]
がデフォルトで、毎回同じ順番で実行し、 [random]
と記述するとテストの順番を入れ替えます。DBの値などが気付かぬうちに順番に影響されて失敗/成功することもあり得るのでそれらを切り分けるためにもランダム実行にしておくと良いです。
また [random:{{SEED値}}]
と記述すると rand
のseed値を固定にできるので、特定のrandの値で失敗するときなどはこのオプションをつけて手動実行することができます