Heim  >  Artikel  >  Java  >  Wie kann man fehlgeschlagene JUnit-Tests sofort wiederholen?

Wie kann man fehlgeschlagene JUnit-Tests sofort wiederholen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 04:55:02940Durchsuche

How to Retry Failed JUnit Tests Instantly?

Fehlgeschlagene JUnit-Tests sofort wiederholen

Der Versuch, seltene Testfehler aufgrund zeitkritischer Aktionen in großen Testsuiten zu bewältigen, kann frustrierend sein. Die gute Nachricht ist, dass Sie eine TestRule implementieren können, um fehlgeschlagene Tests erneut zu versuchen.

Erstellen einer RetryRule

Eine TestRule gibt Ihnen die Kontrolle über die Testausführung. Um eine RetryRule zu erstellen, definieren Sie eine Klasse wie diese:

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

Fügen Sie in der Apply-Methode Ihre Wiederholungslogik um den Testaufruf ein, indem Sie das bereitgestellte base.evaluate() verwenden:

<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>

Verwenden der RetryRule

Annotieren Sie Ihre Testklasse mit der Regel wie folgt:

<code class="java">...
@Rule
public Retry rule = new Retry(3);
...</code>

Andere Optionen

Benutzerdefinierter TestRunner:

Alternativ können Sie einen benutzerdefinierten TestRunner erstellen, der BlockJUnit4ClassRunner erweitert und runChild() überschreibt, um den Wiederholungsmechanismus zu implementieren.

Hinweis:

  • Die RetryRule ermöglicht dies Sie können die Anzahl der Wiederholungsversuche angeben, während dies beim benutzerdefinierten TestRunner nicht der Fall ist.
  • Sie können auch Anmerkungen verwenden, um die Wiederholungslogik selektiv anzuwenden.

Das obige ist der detaillierte Inhalt vonWie kann man fehlgeschlagene JUnit-Tests sofort wiederholen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn