Maison > Java > javaDidacticiel > Comment réessayer instantanément les tests JUnit ayant échoué ?

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

Linda Hamilton
Libérer: 2024-11-02 04:55:02
original
1085 Les gens l'ont consulté

How to Retry Failed JUnit Tests Instantly?

Réessayez 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éer 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 :

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

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 :

<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>
Copier après la connexion

Utilisation de la RetryRule

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

<code class="java">...
@Rule
public Retry rule = new Retry(3);
...</code>
Copier après la connexion

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 permet vous devez 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal