大規模なテスト スイートで時間に敏感なアクションが原因でまれに発生するテストの失敗を処理しようとすると、イライラすることがあります。良いニュースとして、TestRule を実装して、失敗したテストを再試行できることです。
TestRule を使用すると、テストの実行を制御できます。 RetryRule を作成するには、次のようなクラスを定義します。
public class RetryTest {
public class RetryRule implements TestRule {
...
public Statement apply(Statement base, Description description) {
...
}
...
}
}
apply メソッドで、提供されたbase.evaluate():
public Statement apply(Statement, Description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
...
for (int i = 0; i RetryRule の使用
次のようにテスト クラスにルールの注釈を付けます:
...
@Rule
public Retry rule = new Retry(3);
...
その他のオプション
カスタム TestRunner:
代わりに、BlockJUnit4ClassRunner を拡張し、runChild() をオーバーライドして実装するカスタム TestRunner を作成することもできます。再試行メカニズム。
注:
- RetryRule では再試行回数を指定できますが、カスタム TestRunner では指定できません。
- ]注釈を使用して、再試行ロジックを選択的に適用することもできます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3