Rails5.1.1 Ruby2.2.7 の環境でWebアプリケーション制作の勉強中です。統合テストを参考書に従って実行したら下記エラーが出てしまい
対処がわからなくて困っております。実行コードと関係すると思われるファイル内容は下記になります。
実行したtestのコード
[vagrant@localhost strikeback]$ bin/rails test:integration DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /home/vagrant/strikeback/config/routes.rb:4) Run options: --seed 16518 # Running: E Error: ManageArticlesTest#test_add_an_article: ActionView::Template::Error: Missing partial shared/_sideber with {:locale=>[:ja], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}. Searched in: * "/home/vagrant/strikeback/app/views" * "/home/vagrant/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/kaminari-core-1.0.1/app/views" app/views/layouts/application.html.erb:25:in `_app_views_layouts_application_html_erb___106715588806261541_69971818201280' test/integration/manage_articles_test.rb:5:in `block in <class:ManageArticlesTest>' bin/rails test test/integration/manage_articles_test.rb:4 Finished in 0.965880s, 1.0353 runs/s, 0.0000 assertions/s. 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips [vagrant@localhost strikeback]$ ruby -v ruby 2.2.7p470 (2017-03-28 revision 58194) [x86_64-linux]
app/views/shared/_sidebar.html.erb
<%= render "shared/login_form" %> <h2>最新ニュース</h2> <ul> <% Article.sidebar_articles(5).each do |article| %> <li><%= link_to article.title, article %></li> <% end %> </ul> <h2>会員のブログ</h2> <ul> <% 5.times do |i| %> <li><%= link_to "ブログの見出し", "#" %></li> <% end %> </ul>
app/views/layouts/application.html.erb
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title><%= page_title %></title> <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <div id="container"> <div id="header"> <%= render "shared/header" %> </div> <div id="content"> <% if flash.notice %> <p class="notice"><%= flash.notice %></p> <% end %> <%= yield %> </div> <div id="sidebar"> <%= render "shared/sideber" %> (25行目です) </div> <div id="footer"> <%= render "shared/footer" %> </div> </div> </body> </html>
test/integration/manage_articles_test.rb
require 'test_helper' class ManageArticlesTest < ActionDispatch::IntegrationTest test "add an article" do get "/articles/new" (5行目です) assert_response :success post "/articles", article: FactoryGirl.attributes_for(:article, title: "") assert_template "new" assert_select "h3", "エラーがあります。" post "/articles", article: FactoryGirl.attributes_for(:article, title: "テスト記事") assert_redirected_to assigns(:article) follow_redirect! assert_select "h1", "テスト記事" end end
上記の内容で参考書の通りに学習を進めておりますがなぜエラーが出ているのかわからずに困っています。どなたか教えていただけませんでしょうか?
参考書のバージョンはRuby2.2.1、Rails4.2.1です。バージョンの違いでエラーがでているのでしょうか?それともどこかコードの
記述が間違っているのでしょうか?宜しくお願いします。
あなたの回答
tips
プレビュー