Bonjour,
j'utilise JUnit et je voudrais savoir comment faire pour qu'un test continue de s'exécuter lorsqu'un assetrTrue (par exemple) ne passe pas.
Merci
Bonjour,
j'utilise JUnit et je voudrais savoir comment faire pour qu'un test continue de s'exécuter lorsqu'un assetrTrue (par exemple) ne passe pas.
Merci
Bonjour,
c'est contraire à l'utilisation des Assert ....
Ceci étant ... je dirais que c'est possible techniquement en englobant ton assert avec un bloc Try catch Throwable.
Ceci étant, je pense que c'est surtout un probleme d'écriture du test si tu veux continuer malgrès que l'assert ne passe pas ...
Je ne vois pas le problème. assertTrue est simplement une méthode défini dans junit.framework.TestCase qui va incrémenter le nombre d'échec et afficher un message si l'assertion est fausse, et c'est tout. Ce n'est pas censé arrêter le programme (pour des tests unitaires)Envoyé par Atomikx
J'ai été voir dans les sources :
On a :
Puis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public abstract class TestCase extends Assert implements Test {
par exemple dans Assert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 static public void assertTrue(String message, boolean condition) { if (!condition) fail(message); }Et dans TestResult qui est appelé par run de TestCase :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /** * Fails a test with the given message. */ static public void fail(String message) { throw new AssertionFailedError(message); }
Donc, il lance chaque méthode, et si il y a une lancée d'exception, il interecpte et incrémente le nombre d'échec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void runProtected(final Test test, Protectable p) { try { p.protect(); } catch (AssertionFailedError e) { addFailure(test, e); }
Partager