Dans la classe que je suis en train de tester, il existe quelques instructions assert qui vérifient diverses conditions.Affirmation qui provoque l'arrêt des tests JUnit
L'une des méthodes est
GetNames(string id){
assert(! id.Equals("")); // Causes all junit tests to stop
...
}
et il y a une instruction assert pour vérifier si id est pas vide.
Dans mes tests unitaires, j'ai un test où je lui passe une chaîne vide, et quelques autres. Le problème est que lorsque l'instruction assert est exécutée dans la classe, les tests JUnit cessent de s'exécuter après ce scénario de test.
Comment puis-je modifier/configurer les tests unitaires afin que, en cas d'échec d'assertion dans la classe, les tests ne s'arrêtent pas.
Je dois activer les assertions pour que le code s'exécute correctement car il y a des cas où les variables sont incrémentées dans les assertions. Malheureusement, je ne peux pas changer le code. J'utilise le plugin JUnit dans Eclipse. Je n'ai aucun code dans les sections de configuration et de démontage.
Merci. Je viens de réaliser le code qui provoque l'arrêt des tests: "system.exit (1)". Existe-t-il un moyen d'exécuter les tests unitaires après l'appel de system.exit? – randomThought
Non, cela provoque la fermeture de la machine virtuelle. Quel est le code que vous testez? Tout code de bibliothèque qui appelle 'System.exit' est rompu. –
En fait, vous pouvez écrire votre propre 'SecurityManager' qui interdit un appel à' System.exit'. Voir par exemple http://stackoverflow.com/questions/309396/java-how-to-test-methods-that-call-system-exit –