「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 失敗した JUnit テストを即座に再試行するにはどうすればよいですか?

失敗した JUnit テストを即座に再試行するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:150

How to Retry Failed JUnit Tests Instantly?

失敗した JUnit テストを即座に再試行する

大規模なテスト スイートで時間に敏感なアクションが原因でまれに発生するテストの失敗を処理しようとすると、イライラすることがあります。良いニュースとして、TestRule を実装して、失敗したテストを再試行できることです。

RetryRule を作成する

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