IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tests et Performance Java Discussion :

Assert


Sujet :

Tests et Performance Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Par défaut Assert
    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

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut
    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 ...

  3. #3
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par Atomikx
    Bonjour,

    j'utilise JUnit et je voudrais savoir comme nt faire pour qu'un test continue de s'éxecuter lorsqu'un assetrTrue (par exemple) ne passe pas.

    Merci
    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)

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    J'ai été voir dans les sources :

    On a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public abstract class TestCase extends Assert implements Test {
    Puis :

    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);
    	}
    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);
    	}
    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
    7
    	public void runProtected(final Test test, Protectable p) {
    		try {
    			p.protect();
    		} 
    		catch (AssertionFailedError e) {
    			addFailure(test, e);
    		}
    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

Discussions similaires

  1. [eclipse3.0.1] activer les assertions
    Par MicroPuce dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 15/04/2005, 15h52
  2. Réponses: 3
    Dernier message: 07/12/2004, 22h09
  3. assert ou generer une exception
    Par onap dans le forum C++
    Réponses: 2
    Dernier message: 01/12/2004, 16h49
  4. [Assertions] avec Eclipse
    Par Vorms dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/08/2004, 22h54
  5. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo