やろうとしていることと起きている現象
Rspecでテストを書こうとしています。
「Ruby on Rails 5速習実践ガイド」を参考にテストを書いています。サイト自体はこの書籍を参考にはせず独自でポートフォリオを作っています。
ユーザーAがログインした時、ユーザーAが作成した投稿が表示される、というテストを試していますが、エラーが出てしまいます。エラー内容が分からず、どのようなエラーなのか教えていただけますと幸いです。
表示されるエラー分(ターミナル)
Failures: 1) 投稿機能 一覧表示機能 ユーザーAがログインしている時 ユーザーAが作成したタスクが表示される Failure/Error: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> ActionView::Template::Error: Invalid CSS after "...ding: 0.3em 1em": expected "{", was "; */" [Screenshot]: tmp/screenshots/failures_r_spec_example_groups_nested_nested_a_ユーザーaが作成したタスクが表示される_280.png # (sass):139 # ./app/views/layouts/application.html.erb:13:in `_app_views_layouts_application_html_erb___3381004238305847749_68780' # ------------------ # --- Caused by: --- # Sass::SyntaxError: # Invalid CSS after "...ding: 0.3em 1em": expected "{", was "; */" # (sass):139 Finished in 1.94 seconds (files took 2 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/system/microposts_spec.rb:20 # 投稿機能 一覧表示機能 ユーザーAがログインしている時 ユーザーAが作成したタスクが表示される
テストコード
microposts_spec.rb
1require 'rails_helper' 2 3describe '投稿機能', type: :system do 4 describe '一覧表示機能' do 5 before do 6 #ユーザーAを作成しておく 7 user_a = FactoryBot.create(:user, name:'ユーザーA', email: 'a@gmail.com') 8 #作成者がユーザーAであるタスクを作成しておく 9 FactoryBot.create(:micropost, title: '最初のタスク', user: user_a) 10 end 11 context 'ユーザーAがログインしている時' do 12 before do 13 #ユーザーAでログインする 14 visit login_path 15 fill_in 'メールアドレス', with: 'a@gmail.com' 16 fill_in 'パスワード', with: 'password' 17 click_button 'ログインする' 18 end 19 20 it 'ユーザーAが作成したタスクが表示される' do 21 #作成済みのタスクの名称が画面上に表示されていることを確認 22 expect(page).to have_content '最初のタスク' 23 end 24 end 25 end 26end
application.html.erb
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel= "stylesheet" href = "../assets/stylesheets/applocation.css" > <title>Microposts</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script> <script defer src="https://use.fontawesome.com/releases/v5.7.2/js/all.js"></script> <script src="https://kit.fontawesome.com/383cff6671.js" crossorigin="anonymous"></script> </head> <body> <%= render 'layouts/navbar' %> <div class="container"> <%= render 'layouts/flash_messages' %> <%= yield %> </div> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> </body> </html>
備考
その他追加した方がよいコードなどございましたら指定していただけますと幸いです。
何卒、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー