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の値で失敗するときなどはこのオプションをつけて手動実行することができます