„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich fehlgeschlagene JUnit-Tests sofort wiederholen?

Wie kann ich fehlgeschlagene JUnit-Tests sofort wiederholen?

Veröffentlicht am 08.11.2024
Durchsuche:319

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

Mit einer TestRule haben Sie die Kontrolle über die Testausführung. Um eine RetryRule zu erstellen, definieren Sie eine Klasse wie diese:

public class RetryTest {
    public class RetryRule implements TestRule {
        ...
        public Statement apply(Statement base, Description description) {
            ...
        }
        ...
    }
}

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

public Statement apply(Statement, Description) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            ...
            for (int i = 0; i 

Verwenden der RetryRule

Annotieren Sie Ihre Testklasse mit der Regel wie folgt:

...
@Rule
public Retry rule = new Retry(3);
...

Andere Optionen

Benutzerdefinierter TestRunner:

Alternativ können Sie einen benutzerdefinierten TestRunner erstellen, der BlockJUnit4ClassRunner erweitert und runChild() zur Implementierung überschreibt der Wiederholungsmechanismus.

Hinweis:

  • Mit der RetryRule können Sie die Anzahl der Wiederholungen angeben, während dies beim benutzerdefinierten TestRunner nicht möglich ist.
  • Sie können Anmerkungen auch verwenden, um die Wiederholungslogik selektiv anzuwenden.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3