Rspec 2.12.0 を使用する Capybara 2.1.0 の場合:
を実行する$ rspec spec/features/user_sees_leaderboard_spec.rb
と、仕様はパスします。
を実行する$ rspec spec/features/*
と、テストは失敗し、次のように主張します。
Capybara::ElementNotFound:
Unable to find css "#flash"
save_and_open_page
すると、#flash が存在し、表示されます。
失敗が発生しているヘルパーは次のとおりです。
def sign_in_as(user)
visit new_user_session_path
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button "Sign In"
flash = find("#flash")
flash.should have_content "You are now signed in."
end
何か案は?私はカピバラに慣れていないので、どこから始めればよいかわかりません。ありがとう!
編集/更新:
一緒に実行save_and_open_page
すると失敗する一連の仕様で実行することで、一連の成功に続いて、body タグに「Not Found」以外の何も表示されない一連のページが表示されることがわかりました。Google は何も表示しませんでした。
更新 #2
BODY の "Not Found" コンテンツは、capybara-webkit を使用して JavaScript を実行する仕様の直後に始まっていることに気付きました。after(:all) ブロックで明示的に Capybara.current_driver = :rack_test をリセットしても問題は解決しませんが、これは関連していると思います。