2010-07-29 4 views
0

Je souhaite exécuter une suite de tests de régression JUnit à partir d'un script de génération ANT. La suite de tests a un nombre connu d'échecs que nous travaillons à corriger. Je veux que la construction à échoue si le nombre de tests défaillants augmente (ou change du tout si cela est plus facile à coder) - cette valeur peut être codée en dur dans le script ANT.Validation du nombre de Junits défaillants dans ANT

Je cherche des détails sur la façon de l'implémenter.

+0

Quel est le point de l'exécution des tests unitaires qui sont connus à l'échec? Comme vous le savez peut-être, cela va à l'encontre de la meilleure pratique consistant à laisser passer 100% des tests unitaires tout le temps. Si un test échoue, corrigez-le immédiatement ou désactivez-le si vous ne pouvez pas le corriger. –

+0

Bon point mais il s'agit en fait d'une suite de tests de régression qui contient des échecs «connus». Avec le temps, j'espère que ceux-ci seront corrigés, mais pour l'instant, nous avons juste à les documenter et nous voulons nous assurer que nous n'introduisons pas plus d'échecs. – Tarski

Répondre

0

La tâche junit crée un fichier XML avec les tests défaillants. Il n'y a aucune raison que vous ne puissiez pas utiliser XMLTask pour compter le nombre d'échecs et avoir un échec conditionnel si cette valeur est trop élevée.

+0

merci je vais jeter un oeil – Tarski

1

Même si je suis un peu en retard à la fête:

Une autre option serait d'utiliser JUnit 4 et annoter les tests ayant échoué avec @ignore. De cette façon, ils ne fonctionneront pas, et ne compteront pas comme des échecs, mais le nombre de tests ignorés sera toujours imprimé, vous rappelant qu'il reste du travail à faire.

Si un test échoue pour la première fois, vous obtenez un échec normal; alors vous pouvez décider de le réparer ou de l'ignorer.

Plus d'informations:

http://www.devx.com/Java/Article/31983/1954

+0

Merci pour votre réponse. Je n'avais pas rencontré cette annotation. Malheureusement, parce que j'utilise des tests paramétrés, je veux juste ignorer certains tests pour certains paramètres - je ne pense pas que JUnit soit suffisamment flexible pour faire cela. – Tarski

+0

Oui, apparemment, vous ne pouvez pas "@Ignore" juste quelques paramètres. Vous pouvez commenter les valeurs qui échouent et créer un test d'espace réservé intitulé "@Ignored", afin de vous souvenir des valeurs défaillantes. De cette façon, vous n'avez pas besoin de compter les tests ... – sleske

Questions connexes