J'utilise des hypothèses junit pour décider de lancer un test ou non.
Tests où l'hypothèse échoue sont ignoré / ignoré par le Cadre Junit.
Je me demande pourquoi les tests sautés ne sont pas signalés comme "ignorés"? p>
Veuillez consulter l'exemple: P>
Running AssumptionTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
4 Réponses :
Vous ne pouvez pas faire cette touche hors tension car le seul moyen de sauter des tests est avec l'annotation @ignore code>. Cependant, j'ai trouvé un Publication du blog Ce qui pourrait être juste ce que vous recherchez: p>
Merci pour la réponse. Dommage que cela ne fonctionne pas hors de la boîte. La mise en œuvre d'un coureur personnalisé ne fonctionnera pas pour moi - j'utilise normalement déjà un coureur personnalisé (Springjunit4ClassRunner) dans mes tests que je ne prolongerai pas. J'aurais préféré une solution de solution.
Veuillez ajouter les pièces importantes du magasin de blog comme une réponse, sinon cette réponse sera assez inutile dès que ce blog Publier disparaît. (Je suis impressionné que personne n'a mentionné cela au cours des 7 dernières années)
En effet, bien que le blog post est là, le code informatique est maintenant terminé depuis longtemps.
@Donalfellows, le code peut toujours être trouvé dans le référentiel lié à partir du blog Post: code.google.com/archive/p/programatiquementPeaking/source/... Vous devez cliquer sur" Télécharger "dans la phrase" Téléchargez le code de ce repo. ". Si le site est fermé, vous pouvez aussi
Spring apporte une autre variante d'une annotation ignorée, qui est capable de décider au moment de l'exécution d'ignorer un test: voir Documentation de test de ressort . p>
Mais ce n'est pas la même chose que de pouvoir effectuer un code de test et au milieu de la méthode de test décider d'ignorer le test, comme vous le pouvez avec des hypothèses. P> @IFProfilevalue code>. En combinaison avec un utilisateur fourni
profilevaluesource code> dans un
@profilevaluesourceconfiguration code>, vous pouvez faire des astuces limitées. P>
Remarque: ressort @IFProfilevalue code> uniquement ignore / ignore B> le test si le nom et la valeur ne correspondent pas et ce n'est pas non-exécuté b> IT . Si vous souhaitez mettre en œuvre des catégories junit type de mise en œuvre avec ceci, vous devrez peut-être finir par extension de
SpringJunit4ClassRunner # Runchild code> à Not-Run i> au lieu de Ignoring i> . Cela compte principalement si ses résultats sont à Jenkins.
Alors que les réponses précédentes sont bonnes par elles-mêmes, j'aimerais aborder la question "pourquoi". p>
Le problème découle de la manière dont les tests ont échoué / ignoré ont été comptés. Lorsque des hypothèses ont été ajoutées, les comptes habituels étaient un peu brofiés (l'hypothèse peut ignorer les tests à mi-chemin de sa course). P>
Les coureurs des outils ont eu des problèmes de cela également, causant des rapports en désordre. Voir ici pour la conversation de Dev Santfire avec des personnes Junit et ici pour un bug éclipse associé . P>
Edit: Type de référence Les liens n'ont pas fonctionné. p> éclipse.buildid = 2.9.2.201205071000-Release code> et je ressens toujours ce comportement. P>
sur Maven La solution est assez simple, ajoutez simplement ceci sur la section Plugin de votre POM.XML!
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> </plugin>