Quelle est l'utilisation réelle de «échec» dans le cas de test JUnit?
java
unit-testing
junit
junit4
Sanju
la source
la source
disons que vous écrivez un cas de test pour un flux -ve où le code testé doit déclencher une exception
la source
Je pense que le cas d'utilisation habituel est de l'appeler lorsqu'aucune exception n'a été lancée dans un test négatif.
Quelque chose comme le pseudo-code suivant:
la source
Je l'ai utilisé dans le cas où quelque chose aurait mal tourné dans ma méthode @Before.
la source
@Before
méthode a réussi, il est probablement préférable de la vérifier directement dans cette méthode. En prime, au moins JUnit et TestNG rapporteront même un échec différent pour les erreurs de@Before
/@After
methods, donc peuvent voir que le problème n'était pas dans le test lui-même.C'est ainsi que j'utilise la méthode Fail.
Votre scénario de test peut se terminer dans trois états
prévu (contrairement aux cas de test négatifs qui s'attendent à ce qu'une exception se produise).
Si vous utilisez Eclipse, trois états sont indiqués respectivement par un marqueur vert, bleu et rouge.
J'utilise l'opération d'échec pour le troisième scénario.
par exemple: public Integer add (integer a, Integer b) {return new Integer (a.intValue () + b.intValue ())}
la source
fail()
.Moi, par exemple, j'utilise
fail()
pour indiquer des tests qui ne sont pas encore terminés (ça arrive); sinon, ils se montreraient réussis.Cela est peut-être dû au fait que je ne suis pas au courant d'une sorte de fonctionnalité incomplète (), qui existe dans NUnit.
la source
Dans les paramètres simultanés et / ou asynchrones, vous voudrez peut-être vérifier que certaines méthodes (par exemple, les délégués, les écouteurs d'événements, les gestionnaires de réponses, vous le nommez) ne sont pas appelées. Mis à part les frameworks moqueurs, vous pouvez appeler
fail()
ces méthodes pour échouer les tests. Les délais d'expiration sont une autre condition de défaillance naturelle dans de tels scénarios.Par exemple:
la source
Le cas d'utilisation le plus important est probablement la vérification des exceptions.
Alors que junit4 inclut l' élément attendu pour vérifier si une exception s'est produite, il semble qu'il ne fasse pas partie du nouveau junit5. Un autre avantage de l'utilisation par
fail()
rapport auexpected
est que vous pouvez le combiner avec lefinally
nettoyage des cas de test.Comme indiqué dans un autre commentaire. Avoir un test qui échoue jusqu'à ce que vous puissiez terminer sa mise en œuvre semble également raisonnable.
la source