私が使用してテストの失敗に対してアクションを実行することができます。キュウリのテストがJavaで失敗したときにスローされた例外を取得するには?
@After
public void afterTest(Scenario scenario) {
if (scenario.isFailed()) {
/*Do stuff*/
}
}
をしかし、私は実行する必要のあるアクションの一部がスローされましたし、どのような文脈で、それがスローされた例外に依存します。テストを失敗させたThrowableを取得する方法はありますか? JUnitの中にたとえば、私はTestWatcherを拡張することでこれを行うだろうと私のテストにルールを追加します。
@Override
protected void failed(Throwable e, Description description) {
/*Do stuff with e*/
}
キュウリ、JUnitのiplementationは、ルールの使用を許可していませんので、この解決策は、キュウリでは動作しないでしょうが。
が私のテスト環境は常に安定したので、私のテストが失敗することがありますされていません。
私は、しかし、私はまだ例を提供します、私はテスト失敗した場合にスローされた例外にアクセスすることは有用であろう理由を説明する必要はないと思います予期せずいつでも(例外がいつでも発生する可能性があるため、例外をキャッチしようとする特定の場所はありません)。このような状況が発生した場合は、別の試行のために再スケジュールするためのテストが必要で、環境の不安定性に関する何らかの統計データを得ることができるようにインシデントをログに記録してください(いつ、どのくらい頻繁に、どのくらい長くかかります)。