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 :

test unitaire et java [JUnit]


Sujet :

Tests et Performance Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut test unitaire et java
    Bonjour,

    je suis entrain de réaliser des tests unitaires et j'ai donc réalisé un test qui s'applele
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    testDeleteEmptyPhoneBook()
    Je voudrail afficher un message du genre "Sorry, there is no record to delete" dans me test qui serait equivalent à la methode qui delete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void deleteRecord(Map<String, Employee> map)
    Comment tester cela ?

    J'avais fait ceci mais ça ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void deleteRecord(Map<String, Employee> map){
    		if(map.size()!=0){
    }else{
     new Exception("Sorry, there is no record to delete");
    }
    }
    et dans mon test, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fail("Sorry, there is no record to delete");
    mais ça ne marche pas

    fk04

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut test unitaire et java
    En fait, c'est juste pour verifier que les messages d'erreurs sont indentiques dans mes tests ainsi que dans mes implementations

  3. #3
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Si je comprends bien, la méthode delete renvoie une exception lorsqu'il n'y a pas d'enregistrements à effacer, et tu voudrais que le test de cette méthode s'en assure.

    Et en plus, je devine que tu utilises JUnit.

    Pour se faire, le schéma du test JUnit est le suivant :
    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
     
    public void testDelete() throws Exception
    {
     try
     {
      // ... considérations générales ...
      // ... en se mettant dans une situation 
      // où il n'y a aucun enregistrements...
     
      // lancement du delete
      delete();
      // Qui devrait lancer une exception, donc
      // ne pas continuer à la suite, mais dans le catch
      // Alors, à la suite, on déclanche l'echec du test :
      fail("PAS d'EXCEPTION ! DAMNED ! ");
     }
     catch (PasEnregistrementException goood)
     {
      Assert.assertEquals(
       "Sorry, there is no record to delete", good.getMessage());
     }
    }
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut test unitaire et java
    J'ai fais ce que m'a éte mais le problème est que je ne passe pas dans mon catch;

    pour info, dans la methode delete, je feis ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(map.size()!=0){
     
    }else{
    			new PasEnregistrementException("Sorry, there is no record to delete");
    		}
    cette methode throws l'exception PasEnregistrementException et dans mon test j'ai des try et catch autour de la methode delete mais je ne passe pas dans la catch

    fk04

  5. #5
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Précisément : ta méthode ne renvoie pas d'exception. Le test fonctionne bien, il a bien détecté l'anomalie. C'est le code qu'il faut corriger. Merci, gifffftane.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tests unitaires en Java
    Par identifiant_bidon dans le forum Général Java
    Réponses: 4
    Dernier message: 23/08/2011, 14h50
  2. Réponses: 0
    Dernier message: 22/03/2010, 09h41
  3. [TESTS] Tests unitaires
    Par mathieu dans le forum Test
    Réponses: 4
    Dernier message: 08/01/2004, 12h59

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