Rails5では、assert_template
は非推奨
Railsチュートリアルで使われているコードのうち、assert_template
は、Rails5では非推奨となりました。Ruby on Rails - issue #18950に、非推奨とするに至った経緯の説明、および関連するやり取りが残っています(英語)。
Deprecation of assigns and assert_template in controller tests - BigBinary Blogにも、この変更についての説明が記述されています(英語)。
今Rails5でRailsチュートリアルを進めている
# rails version
Rails 5.1.6
…ちょっと待って下さい。現在Railsチュートリアルを進めているRailsのバージョンは5.1.6ですよね。なぜassert_template
が動いているのです?
Railsチュートリアルでassert_template
が正常動作する理由
答えは/Gemfile
にありました。
group :test do
gem 'rails-controller-testing', '1.0.2'
gem 'minitest', '5.10.3'
gem 'minitest-reporters', '1.1.14'
gem 'guard', '2.13.0'
gem 'guard-minitest', '2.4.4'
end
gem 'rails-controller-testing', '1.0.2'
rails-controller-testing
というGemがインストールされていれば、Rails5でもassert_template
を動かすことができます。Railsチュートリアルでは、第3章のリスト 3.2時点でrails-controller-testing
を/Gemfile
に追加していますね。