Web Marina

日々の業務や勉強などで得た知識をアウトプットしていきます。

gem 'rails-controller-testing'

f:id:song-of-life1352607:20170221152659j:plain

こんにちは、マリンです。

Rails Tutorialの時こんなの入れたっけ?

と覚えがないのですが・・・

今回Contactページのintegration_testでひっかかったのでメモっときます。

ハマった点

問い合わせの内容に不備があった場合、

renderでもう一度投稿ページが表示されるか確認するテスト。

この実装に`assert_template'を使ったら、

NoMethodError: assert_template has been extracted to a gem. To continue using it,
        add `gem 'rails-controller-testing'` to your Gemfile.

とエラーが出た。

対策

書かれてる通りですが、

gem 'rails-controller-testing'をインストールしました。

補足

Rails5から一部のメソッドを使うのに必要になったそうです。

tech.grooves.com

どれに必要かは詳しく調べていませんが、

assert
assert_not
assert_select
assert_response

なんかはなくても大丈夫でした。

今の所分かってるのは、

assert_template
assigns

はないとダメみたいですね。