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