\ay diaryhoge moge

2017-01-29

Tumblr logo white transparent 16

「Railsのテストを、ファイルを指定して実行するのはどうやるんだっけ?」というのを毎回忘れる。

検索してよく出てくるのはこういうの:

rake test TEST=test/model/foo_test.rb

複数のファイルを指定するのはどうすればいいの? というのをさらに調べてみたところ、そもそもTEST=を使わなくてもこれでいけると分かった:

rake test test/models/foo_test.rb test/controllers/foos_controller_test.rb

こうしてもいける:

rake test app/models/foo.rb app/controllers/foos_controller.rb

もっと言うと、これでもいいらしい:

rake test models/foo controllers/foos_controller

動的にRakeタスクを設定していて、なかなか面白い。

以上Rails 4.2で確認。

Rails 5でもいけるかな確認したところ、その辺のコードががらっと変わって……Rakeタスクをどうこうとかのコードがなくなって……いや、そういえばそもそもrakeではなくてrailsを使うんだったなと気付く。

当然ながらTEST=は不要でこうすればよい:

rails test test/models/hoge_test.rb ...

app/models/foo.rbmodeles/fooで指定するようなやり方はできないみたい。

そういえばオプション指定も楽になってるんだな:

rails test -n /hoge/