Ruby on Rails アプリでさまざまなシナリオをテストするために、Cucumber、Capybara、および Capybara-webkit を使用しています。
シナリオの実行中にページの JavaScript エラーを検出してテストに失敗する方法はありますか? これらのテストを使用して、自動テスト実行の一環として、変更の間に機能 (JavaScript を含む) が壊れないようにしています。
テスト出力で失敗を確認できますが、テストは失敗しません。
http://127.0.0.1:54928/...|16|ReferenceError: Can't find variable: $
http://127.0.0.1:54928/...|16|ReferenceError: Can't find variable: $
...
ありがとう!
更新:私が見つけた 1 つの方法は、以前のエラーが発生しなかった場合にのみ可能になる JavaScript を実行しようとするステップを用意することです。その場合、次のようなエラーが発生します。
Javascript failed to execute (Capybara::Driver::Webkit::WebkitInvalidResponseError)
./features/step_definitions/....rb:19:in `/^I should not see any JavaScript errors$/'
features/....feature:34:in `Then I should not see any JavaScript errors'
より良い方法はありますか?