Q&A
前提
Ruby on Rails5速習実践ガイドに則って学習をすすめています。
実行環境は下記の通りです。
- Rails 6.0.2.1
- capybara (3.31.0)
- rspec-rails (3.9.1)
困っていること
システムテストでfill_in
が通りません。
スクリーンショットは真っ白になります。
spec/system/tasks_spec.rb
1require 'rails_helper' 2 3describe "タスク管理機能", type: :system do 4 describe "一覧表示機能" do 5 let(:user_a) { FactoryBot.create(:user) } 6 let!(:task) { FactoryBot.create(:task, name: "最初のタスク", user: user_a) } 7 8 context "ユーザーAとしてログインしている時" do 9 10 # このテストは通る 11 it "「メールアドレス」という文字がある" do 12 visit login_path 13 expect(page).to have_content("メールアドレス") 14 end 15 16 # このテストは通らない 17 it "作成したタスクが表示される" do 18 visit login_path 19 fill_in 'メールアドレス', with: user_a.email 20 fill_in 'パスワード', with: user_a.password 21 clik_button 'ログインする' 22 23 expect(page).to have_content("最初のタスク") 24 end 25 end 26 end 27end
エラーメッセージ
次のようなエラーが出ます
Failure/Error: fill_in 'メールアドレス', with: user_a.email Capybara::ElementNotFound: Unable to find field "メールアドレス" that is not disabled
試したこと
こちらの質問と内容が同じだと思い、提示されている解決策を試したのですが、解決しませんでした。
Rails Rspec Capybara でテストを実行するとエラー時のスクリーンショットが真っ白になってしまう
そのほかに見るべきポイント等ありましたら教えていただけますと助かります。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2020/03/13 14:30