Aujourd'hui j'ai vu un cas de test JUnit avec un java affirmation de la place de la JUnit affirmations - Quelles sont les meilleures pratiques à cet égard?
Réponses
Trop de publicités?Dans JUnit4 l'exception (en fait d'Erreur) jeté par un JUnit affirmer, c'est est la même erreur renvoyé par la java assert
mot-clé (AssertionError), donc c'est exactement la même que assertTrue
et d'autre que la trace de la pile, vous ne pouviez pas faire la différence.
Cela étant dit, affirme avoir à exécuter avec un drapeau spécial dans la JVM, causant de nombreux test pour apparaître passer juste parce que quelqu'un a oublié de configurer le système avec le drapeau lors de la JUnit tests ont été exécutés - pas bon.
En général, à cause de cela, je dirais que l'utilisation de JUnit assertTrue
est la meilleure pratique, car il est garant de l'exécution du test, assure la cohérence (vous utilisez parfois assertThat
ou d'autres assertions qui ne sont pas d'un mot-clé java) et si le comportement de JUnit affirme ce qui devrait changer dans le futur (comme d'accrochage dans une sorte de filtre ou d'un autre avenir JUnit) votre code sera en mesure de tirer parti de cela.
Le but réel de l'affirmer mot-clé dans java est d'être en mesure de l'éteindre sans exécution de la peine. Ça ne s'applique pas pour les tests unitaires.