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 :

Soucis avec des tests d'exception (JUnit 4)


Sujet :

Tests et Performance Java

  1. #1
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut Soucis avec des tests d'exception (JUnit 4)
    Bonjour,

    j'ai une méthode avec plusieurs catch :

    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
    try {
    	  essaisQuelquechose();
    	} catch(MissingOptionException moe) { 	
    	  printException(moe, constructPosixOptions());	      
    	} catch(MissingArgumentException mae){	  
    	  printException(mae, constructPosixOptions());
    	} catch(UnrecognizedOptionException uoe) {	  
    	  printException(uoe, constructPosixOptions());	 
    	} catch(AlreadySelectedException ase) {	  
    	  printException(ase, constructPosixOptions());
    	} catch(ParseException pe) {
    	  printException(pe, constructPosixOptions());	 
    	} catch(Exception e){
    	  printException(e, constructPosixOptions());	 
    	}
    Et un fichier de tests dont les classes de test pour les deux premières exceptions sont :

    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
    18
    19
    /**
       * Test la levée d'une exception dans le cas d'une omission d'argument.
       */
      @Test(expected=MissingArgumentException.class)
      public void testUsePosixParserOptionMissingArgumentException() {
    	miniCli = new MiniCli();	
    	String[] args = {"-l"};
    	miniCli.usePosixParser(args); 	
      }
     
      /**
       * Test la levée d'une exception dans le cas d'une option inconnue.
       */
      @Test(expected=UnrecognizedOptionException.class)
      public void testUsePosixParserOptionUnrecognizedOptionException() {
    	miniCli = new MiniCli();	
    	String[] args = {"-z"};
    	miniCli.usePosixParser(args); 	
      }
    Lorsque je lance le test, la première classe est bien testée, mais pas la seconde, ni les suivantes, alors que chaque test passe si je l'isole des autres tests d'exceptions.

    La question est : comment passer tous les tests d'exception en même temps ?

    Merci de vos suggestions
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  2. #2
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Salut Polymorphisme,

    Je suis un peu surpris, car je l'ai fait des centaines de fois... et j'ai pas souvenir d'avoir déjà eu ton problème.

    La première différence notable que je vois entre tes TU et les miens c'est que je déclare un throws dans la signature de mes méthodes de tests d'exception, mais si je lève des RuntimeException. Est-ce l'origine du problème ?
    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
    18
    19
    20
    21
    22
    23
    24
    25
        /**
         * La traduction de <code>null</code> doit lever une exception.
         * 
         * @throws Exception
         */
        @Test(expected = NullPointerException.class)
        public void testTranslateNullQueryE() throws Exception {
            hqlTranslator.translate(null);
        }
     
        /**
         * La traduction doit lever une exception s'il n'y a pas de
         * {@link TranslatorStrategy}.
         * 
         * @throws Exception
         */
        @Test(expected = IllegalStateException.class)
        public void testTranslateIncompleteQueryE() throws Exception {
            EasyMock.expect(
                    translatorStrategyProvider.getTranslatorStrategyFor(query))
                    .andReturn(null);
            EasyMockUnitils.replay();
     
            hqlTranslator.translate(query);
        }
    Après, une autre différence pourrait venir de ce que tu fais dans tes méthodes printException() et constructPosixOptions(). Pas de exit() en vue, ou tout autre chose qui pourrait tuer ta JVM ? A la limite, si tu veux nous donner tes méthodes qu'on voit si l'origine du problème vient de là...

    Bon courage
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

Discussions similaires

  1. Soucis avec des DIV et un CSS
    Par Rifton007 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 23/01/2007, 15h31
  2. Soucis avec des évènements
    Par kurul1 dans le forum C++Builder
    Réponses: 4
    Dernier message: 18/10/2006, 11h39
  3. [Css]Soucis avec des div
    Par nebule dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/05/2006, 17h03
  4. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13
  5. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45

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