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 d'une interface : Junit ?


Sujet :

Tests et Performance Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut Test unitaire d'une interface : Junit ?
    Bonjour,

    Je commence à introduire des tests unitaires dans mon projet et je me trouve confronter a un problème. Comment peut on associer des tests unitaires à une interface et non pas à une classe concrète ?

    En effet je souhaite pouvoir tester plusieurs implémentation d'une même interface en utilisant donc les mêmes tests. Existe il une méthode ou un framework qui me permettrait d'éviter un copier-coller qui rendrait difficile la maintenabilité de tels tests ?

    D'avance merci

    PS : S'il existe plusieurs methodes/frameworks, votre avis est bien sur également le bien venu.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Je connais bien QFTest qui permet de tester les interfaces graphiques, par contre il est payant.

    a+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut
    Cela n'était peut être pas suffisament explicite dans mon post mais je ne parlais pas d'interface graphique mais d'interface dans le sens Programmation Orienté Objet.

    Autrement dit, j'ai un code ressemblant à :
    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
    public interface MonInterface {
    // methodes
    }
     
    public classe A implements MonInterface {
    // implementation
    }
     
    public classe B implements MonInterface {
    // implementation
    }
     
    public classe C implements MonInterface {
    // implementation
    }
    Et ainsi de suite, le nombre de sous-classes devant à priori augmenter.

    Dans JUnit, le seul moyen serait peut être de passer par une fixture mais je ne sais pas comment.
    J'ai par contre trouvé une extension qui devrait à priori permettre ce type de test.
    Je ne connais pas d'autres frameworks de test mais cela m'etonne qu'il n'en existe pas un qui permette cela sans extension....

  4. #4
    Membre Expert
    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
    Par défaut
    Avec JUnit je te conseille d'utiliser des trucs style Netbeans, Eclipse ou Maven ; ils s'occupent de toute la tuyauterie pénible avec JUnit. (particulièrement des fixtures ! )

    Pour les interfaces, il n'y a pas de notion de test style JUnit, puisque par définition une interface n'exécute rien, donc pas de tests unitaires. Tu peux faire des tests d'autres formes si tu veux mais, pour les tests unitaires, c'est forcément à partir d'une classe concrète.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut
    Oui mais justement. La seule chose que doivent faire les tests est de tester l'implémentation de l'interface. Donc ce sont des tests relatif à l'interface même si bien sur ceux-ci doivent être réalisés sur des classes concretes...

  6. #6
    Membre confirmé Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par défaut
    Bonjour

    utilise une classe mère de test contenant
    • un attribut de ton interface
    • tous les tests des méthodes de l'interface sur l'attribut
    puis dans les classes filles de test, tu instancies ton attribut dans le onSetup avec la classe implémentant l'interface et hop...

  7. #7
    Membre Expert
    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
    Par défaut
    Citation Envoyé par TabrisLeFol Voir le message
    Oui mais justement. La seule chose que doivent faire les tests est de tester l'implémentation de l'interface. Donc ce sont des tests relatif à l'interface même si bien sur ceux-ci doivent être réalisés sur des classes concretes...
    Je trouve que tu joues un peu sur les mots. Je pourrais te répondre dans la même veine que ce n'est pas l'implémentation, mais LES implémentations. Etc.

    Par construction, en java, on ne sait pas facilement retrouver LES implémentations d'une interface, et on ne peut rien faire avec une interface seule.

    À partir de là...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2011, 11h38
  2. Test automatique d'une interface GTK
    Par pvincent dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 26/05/2010, 15h51
  3. Test (unitaire?) d'une interface GTK
    Par Hades_L dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 11/11/2008, 11h29
  4. Test unitaire sur une servlet
    Par ReaM dans le forum Tests et Performance
    Réponses: 3
    Dernier message: 12/08/2008, 12h08
  5. test unitaire d'une action qui lance un thread
    Par jawed84 dans le forum Struts 1
    Réponses: 1
    Dernier message: 29/02/2008, 17h12

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