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 :

JUnit test


Sujet :

Tests et Performance Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 37
    Points
    37
    Par défaut JUnit test
    Bonjour,

    j'aimerais que vous m'expliquiez une erreur qui m'est apparu lors de mon utilisation des tests JUnit sous eclipse.

    J'ai une classe Plateau dans laquelle j'ai un constructeur d'initialisation à un paramètre qui jette éventuellement une exception personnalisée de type ElementNullException lorsque le paramètre est null.

    J'ai créé un test unitaire spécialement pour le cas du rejet de l'exception. Je l'ai écrit sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Test(expected=ElementNullException.class)
    public void testPlateauAvecGrilleException() throws ElementNullException{
    	Pion[][] g = null;
    	p = new Plateau(g);		
    }
    Lors de l’exécution du test, j'ai une erreur signalée (pas de failure, une erreur) à la ligne "p = new Plateau(g)"

    Auriez-vous une idée d'où cela pourrait venir ?

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,

    hmm, à part nous montrer ton constructeur Plateau(Pion[][]), .. je dirais que ton constructeur ne lance pas l'exception.

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public Plateau(Pion[][] g)throws ElementNullException{
    		if(g != null){
    		largeur = 4;
    		hauteur = 4;
    		grille = new Pion[largeur][hauteur];
    		for(int i = 0; i < largeur; i ++){
    			for(int j = 0; j < hauteur; j++){
    				if(g[i][j] != null)
    					grille[i][j] = new Pion(g[i][j]);
    				else
    					grille[i][j] = null;
    			}
    		}
    	}
    	else
    		throw new ElementNullException("La grille passée en paramètre est nulle");
    }

  4. #4
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Hmm,

    je ne vois pas de raison pour laquelle ça ne passerait pas.
    Si tu utilises une IDE avec/sans Ant ou avec/sans Maven, fais un bon clean pour s'assurer que tes .class soient à jour.
    Si l'erreur persiste, utilise le debugger de ton IDE pour voir par où tu passes jusqu'à ce que l'exception se lance.
    Essaies ça. Sinon, je ne vois pas trop.
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Que veux-tu dire par faire un bon clean ?
    J'ai utilisé le débugger, je rentre bien dans le else du constructeur et je jette donc bien l'exception.

  6. #6
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Un clean te permet de supprimer toutes les .class avant de les régénérer par compilation.

    Si tu es sous Eclipse, tu peux aller dans le menu Project -> Clean...

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par paissad Voir le message
    Un clean te permet de supprimer toutes les .class avant de les régénérer par compilation.
    Ainsi, tu seras sur que ton test JUnit passe dans le code que tu nous a montré et pas une ancienne version. Et ça peut ainsi faire douter d'un code pourtant logique.

    Fais ton clean avant de passer au mode debug.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    D'accord, j'ai fait le clean mais ça n'a rien changé.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Salut,

    pourrais tu écrire le message d'erreur ?

    j'ai pas l'impression que tu instancie ton objet...
    Tente de modifier comme le code ci dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @Test(expected=ElementNullException.class)
    public void testPlateauAvecGrilleException() throws ElementNullException{
    	Pion[][] g = new Pion[][](null);
    	p = new Plateau(g);		
    }
    Si rien ne marche, ce que je te propose comme solution temporaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @Test
    public void testPlateauAvecGrilleException() {
    	Pion[][] g = null;
            Assert.assertNull(g); // il verifie si ton g est bien null
    	p = new Plateau(g);		
    }

Discussions similaires

  1. JUnit Test NulPointerException
    Par ancrou dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 08/06/2009, 09h39
  2. [JUnit] "Problems Launching Junit Tests"
    Par Fabthebug dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 18/04/2008, 20h47
  3. [MVN2][JUnit] test avec les ressources du main
    Par Vince78 dans le forum Maven
    Réponses: 7
    Dernier message: 26/09/2007, 19h33
  4. JUnit Test type does not exist
    Par theAlex dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 10/07/2007, 13h13
  5. [Maven 2] Junit Test Report
    Par ange bleu dans le forum Maven
    Réponses: 2
    Dernier message: 28/08/2006, 09h46

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