記事概要
rails4.2.5からrails5.0.0にアップグレードした時の方法をまとめた記事です。
Gemと設定ファイルの修正は、この記事を参考にしてください。
この記事は、Rspecの修正方法について記載しています。
環境
- centos6.5
- rails4.2.5 → rails5.0.0
- ruby2.3.0
- rbenv
- unicorn
- capistrano3.2.1 → capistrano3.5.0
- whenever
Rspecの起動
まずはRspecを動かします。
terminal
bundle exec rspec spec 179 examples, 62 failures, 4 pending
エラーだらけでまともに動きません。修正が必要です。
rails-controller-testingの導入
Rspecを実行すると、コンソールに以下が表示されます。
terminal
NoMethodError: assigns has been extracted to a gem. To continue using it, add `gem 'rails-controller-testing'` to your Gemfile. `assigns` and `assert_template` have been remove and extracted to a gem in Rails 5. #1393
Rails 5では、assignsとassert_templateが削除されています。
Gemfileでライブラリを追加する必要があります。
{project_folder}/Gemfile
group :test do gem "rails-controller-testing" end
installします。
terminal
cd {project_folder}/ bundle install Installing rails-controller-testing 0.1.1
さらに、spec/rails_helper.rbに設定を追加します。
{project_folder}/spec/rails_helper.rb
RSpec.configure do |config| [:controller, :view, :request].each do |type| config.include ::Rails::Controller::Testing::TestProcess, :type => type config.include ::Rails::Controller::Testing::TemplateAssertions, :type => type config.include ::Rails::Controller::Testing::Integration, :type => type end end
修正が完了したら、Rspecを実行します。
terminal
bundle exec rspec spec 179 examples, 0 failures, 4 pending OK
動くようになりました。
まとめ
Rspecは、Railsのアップデートをするたびに動かなくなる印象が強いです。
なので、公式通りに、Minitestを使った方が保守性は高くなると思います。
次回は、capistranoとその他の修正方法について記述します。
以上です。
PICK UP オススメ書籍
運営サイト(railsで作成しています)
関連記事
- 【Rails5.0.0】 Rails4.2.5からRails5.0.0へのアップグレードでバッチが動かなくなった
- 【Rails5.0.0】 rails4.2.5からrails5.0.0にアップグレードする その1 Gemと設定ファイルの修正
- 【Rails5.0.0】 rails4.2.5からrails5.0.0にアップグレードする その3 capistranoの修正
0 件のコメント:
コメントを投稿