一部のカピバラ webkit-driver ( :js => true
) テストで少し奇妙な点があります。
テストは、単独で実行すると正常に実行されますが、どういうわけか順番に失敗します。
たとえば、次のようなリクエスト テストがあります。
describe "A", :js => true do
# tests here run fine
end
describe "B", :js => true do
# tests here fail
end
describe B
セクションを独自のファイルに分割し、それを使用して実行すると、bundle exec rspec spec/requests/b_spec.rb
テストは正常に実行され、合格します。
これをデバッグすると、両方のセクションが同じファイルにある場合、何らかの形で Webkit ドライバーが「ダーティ」ブラウザー セッションをロードするように見えます。page.driver.reset!
orのようなことを試してCapybara.reset_sessions!
もCapybara.reset!
効果がないようです...
spectator/spork を使用する場合、テストを異なるファイルに分割して個別に実行できるため、これは問題ではありませんが、完全なテスト スイートを使用して実行すると、bundle exec rspec
これらのテストは失敗します...
テスト間で Webkit ドライバー/セッションを適切にリセットするにはどうすればよいですか? それとも私は間違った問題を追いかけていますか?
ps これらのテストは、データベースにアクセスしたり、特定の方法で状態を変更したりしていないため、ドライバー関連の問題であると確信しています。