ホームページ  >  記事  >  Java  >  失敗した JUnit テストを即座に再試行するにはどうすればよいですか?

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 04:55:021020ブラウズ

How to Retry Failed JUnit Tests Instantly?

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

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

RetryRule の作成

TestRule を使用すると、テストの実行を制御できます。 RetryRule を作成するには、次のようなクラスを定義します。

<code class="java">public class RetryTest {
    public class RetryRule implements TestRule {
        ...
        public Statement apply(Statement base, Description description) {
            ...
        }
        ...
    }
}</code>

apply メソッドで、提供されたbase.evaluate():

<code class="java">public Statement apply(Statement, Description) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            ...
            for (int i = 0; i < retryCount; i++) {
                ...
            }
            ...
        }
    };
}</code>
RetryRule の使用

次のようにテスト クラスにルールの注釈を付けます:

<code class="java">...
@Rule
public Retry rule = new Retry(3);
...</code>
その他のオプション

カスタム TestRunner:

または、BlockJUnit4ClassRunner を拡張し、runChild() をオーバーライドして再試行メカニズムを実装するカスタム TestRunner を作成することもできます。

注:

    RetryRule により、次のことが可能になります。再試行回数を指定できますが、カスタム TestRunner では指定できません。
  • 注釈を使用して、再試行ロジックを選択的に適用することもできます。

以上が失敗した JUnit テストを即座に再試行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。