"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment réessayer instantanément les tests JUnit ayant échoué ?

Comment réessayer instantanément les tests JUnit ayant échoué ?

Publié le 2024-11-08
Parcourir:930

How to Retry Failed JUnit Tests Instantly?

Réessayer instantanément les tests JUnit ayant échoué

Essayer de gérer des échecs de tests peu fréquents dus à des actions urgentes dans de grandes suites de tests peut être frustrant. La bonne nouvelle est que vous pouvez implémenter une TestRule pour réessayer les tests ayant échoué.

Création d'une RetryRule

Une TestRule vous permet de contrôler l'exécution des tests. Pour créer une RetryRule, définissez une classe comme celle-ci :

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

Dans la méthode apply, insérez votre logique de nouvelle tentative autour de l'appel de test à l'aide de la base.evaluate() fournie :

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

Utilisation de la règle Retry

Annotez votre classe de test avec la règle comme ceci :

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

Autres options

TestRunner personnalisé :

Vous pouvez également créer un TestRunner personnalisé qui étend BlockJUnit4ClassRunner et remplace runChild() pour implémenter le mécanisme de nouvelle tentative.

Remarque :

  • La RetryRule vous permet de spécifier le nombre de tentatives, contrairement au TestRunner personnalisé.
  • Vous pouvez également utiliser des annotations pour appliquer la logique de nouvelle tentative de manière sélective.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3