どこでも見れるメモ帳

とあるSEの備忘録。何かあれば気軽にコメントください〜

RSpecで複数の指定行を実行する方法

はじめに

f:id:ni66ling:20160611144301p:plain

RSpecで特定のケースのみを「複数」実行したい状況が生じたためメモ.

やり方

行指定オプションを複数回指定する.

$ rspec [file_name] --line_number [line_number_1] --line_number [line_number_2]

略記式で以下のようにも記述できる.

$ rspec [file_name]:[line_number_1]:[line_number_2]

例えば,デグレhoge_spec.rbにおけるx行目とy行目のit文がredになってしまい,実装修正後にgreenになっていることを確認するとき,以下のように記述すればOK.

$ rspec hoge_spec.rb:x:y

また,複数ファイルにわたる場合でも記述できる.

$ rspec hoge_spec.rb:x:y fuga_spec.rb:z

実際の開発時には,他オプションも付けて以下のように実行すると良さそう.*1 *2 *3 *4

$ rspec -fd -c --seed 1234 --fail-fast hoge_spec.rb:x:y fuga_spec.rb:z

参考

*1:-fdは結果を詳細に出力

*2:-cは色付き出力

*3:--seed 1234は実行順序のランダムシードを1234に指定し,rspec実行のたびに実行順序が変わらないように出力

*4:--fail-fastはredが生じたらすぐに終了