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 avec JUnit 3


Sujet :

Tests et Performance Java

  1. #1
    Membre régulier Avatar de yashiro
    Inscrit en
    Mars 2004
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 214
    Points : 82
    Points
    82
    Par défaut Test Unitaire avec JUnit 3
    Bonjour à tous. Je me suis récemment mis aux tests unitaires avec JUnit sous eclipse et Netbeans. J'utilise JUnit 3.8 mais j'ai remarqué une petite chose. Lorsque ma classe de test possède un constructeur et plusieurs méthodes de tests, son constructeur est appelé autant de fois qu'il ya de méthode de test [testXXX()].

    J'aiemrais savoir s'il est possible de faire en sorte que le constructeur ne soit appélé qu'une seule fois.

    En effet, ce comportement me gène un peu lors des tests d'une application à base d'EJBs déployée sur le serveur JBoss EJB3 Embedded car c'est dans le constructeur de la classe de test que je demarre le serveur JBoss et que je procède au déploiement des EJBs (Sessions): Comme le constructeur s'exécute plusieurs fois, ça me gène beaucoup.
    passionné de développement

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Avec JUnit 4, tout serait plus simple (@BeforeClass).

    Avec JUnit 3.8, tu peux utiliser la technique de décoration avec un TestSetup, ou plus simplement, faire tes initialisations dans un bloc static.

  3. #3
    Membre régulier Avatar de yashiro
    Inscrit en
    Mars 2004
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 214
    Points : 82
    Points
    82
    Par défaut
    Je connait pas trop la technique de décoration (si tu peux m'en dire un peu plus), mais je vais essayer déja la technique d'initialisation dans un bloc static. Je pense qu'elle marchera.
    Merci pour tout
    passionné de développement

  4. #4
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Tu trouveras un petit exemple d'utilisation de TestSetup sur le site de JUnit, dans la réponse à la même question que la tienne.

    Pour des informations plus générales sur la technique de décoration, il faudrait que tu ailles voir le design pattern decorator.

Discussions similaires

  1. Test unitaire avec C# et nunit
    Par jeromechezgdf dans le forum C#
    Réponses: 6
    Dernier message: 16/07/2007, 11h51
  2. Tests unitaires avec vbUnit sur des contrôles utilisateurs
    Par Patrick Mortas dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2006, 18h06
  3. test unitaire avec python
    Par Abla23 dans le forum Zope
    Réponses: 4
    Dernier message: 30/06/2006, 13h04

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