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

Affichage des résultats du sondage: Quels frameworks de tests unitaires et de mock utilisez-vous ?

Votants
92. Vous ne pouvez pas participer à ce sondage.
Sondage à choix multiple
Tests et Performance Java Discussion :

Quels frameworks de tests unitaires et de mock utilisez-vous et pourquoi ?


Sujet :

Tests et Performance Java

  1. #1
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut Quels frameworks de tests unitaires et de mock utilisez-vous et pourquoi ?
    Bonjour,

    Nous aimerions sonder la communauté sur l'utilisation des frameworks de tests unitaires et de mock les plus utilisés, et bien sur les avantages / inconvénients que vous y voyez.

    Voici la liste que nous vous proposons :


    Sont exclus du sondage les autres frameworks dits xUnit et les frameworks qui se destinent plutôt aux tests d'intégration tel Spring Test Support, mais nous reviendront dessus dans un sondage ultérieur.

    Merci pour votre participation

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Junit.

    Au départ parce qu'il était fourni avec Eclipse, puis par choix et envie d'aller plus loin une fois la version 4.0 sortie. J'avoue ne jamais en avoir testé d'autre, même si j'ai tenté de créer le mien.

    EasyMock.

    Par simplicité : un tutoriel bien fait m'a suffit. Selon moi, les autres fw de mock sont très similaires, voire identiques (seul change le sucre syntaxique). Donc, voilà.


    Très paresseux sur ce coup là, mais bon, avec ces deux outils, j'arrive à faire en sorte que les choses soient faites.

  3. #3
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    Pour ma part j'utilise JUnit et Mockito. Je les trouve très simple à utiliser. Je ne peux pas comparer je n'ai pas testé les autres!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  4. #4
    Membre confirmé Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2003
    Messages : 456
    Points : 482
    Points
    482
    Par défaut
    J'ai voté unitils, junit et easymock.
    Pourquoi ? Parce qu'unitils nous permet de simplifier les TUs dans un contexte Hibernate et Spring.
    Il intègre DBUnit permettant de tester les DAO et EasyMock pour mocker les appels aux DAO et autres managers.

    Il est simple d'emploi et efficace.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Points : 269
    Points
    269
    Par défaut
    Idem que Gronono, EasyMock, Unitils et Junit.

    Simple d'utilisation pour tester les DAO avec DBUnit et HSQLDB.

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Junit seulement pour moi.
    Pas d'outil "mock".
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    idem que eclesia, mais je vais me pencher sur easyMock ou mockito

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 51
    Points : 64
    Points
    64
    Par défaut
    JUnit parce que c'est très bien supporté, mais je ne verrais pas de problèmes à essayer TestNG.

    Pour les mock, pour le moment mon choix est arrêté sur mockito, il offre une API plus simple mais plus expressive que EasyMock. Et le projet Mockito est assez réactif.
    Pour le compléter sur la testabilité de code intestable (constructeur, méthodes private/final/static, etc...) il y a un complément qui s'appelle powermock. Ce dernier remplace avantageusement JMock ou JMockit. Et en plus il s'intègre à mockito ou easymock.

    J'utilise aussi Unitils qui simplifie énormement l'utilisation de DBUnit, celà dit le framework a encore quelques bug et un support inexistant de mockito, mais il murit.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 15
    Points : 21
    Points
    21
    Par défaut
    JUnit 4.7+ : orienté POJO, @Rule en particulier ExpectedException, intégration de Hamcrest (pour écrire des assertions comme on écrirait en anglais)

    Mockito : élégant, simple, BDD-compliant (Behavior Driven Development)

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 99
    Points
    99
    Par défaut
    au travail nous utilisons Junit.
    Pour la librairie de mock nous testons en ce moment easyMock et Mockito.
    Pour ma part je préfère Mockito qui est plus concis et plus clair. Voici 2 références sur ce sujet (mais la première est du concepteur de Mockito)

    http://monkeyisland.pl/2008/04/26/asking-and-telling/
    http://hamletdarcy.blogspot.com/2007...ent-spies.html

  11. #11
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 130
    Points : 276
    Points
    276
    Par défaut
    Seulement Junit pour moi, la raison, parce que c'est celui que l'on utilisait en cours et en entreprise
    MigouW

    La seule bataille perdue d'avance est celle que l'on refuse de livrer.


    Pensez au tag
    Ma réponse vous a été utile, votez plus 1 sur le message.
    Ma réponse est hors sujet, votez moins 1 sur le message.

  12. #12
    Membre actif
    Avatar de foucha
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 121
    Points : 251
    Points
    251
    Par défaut
    JUnit parce que c'était fourni avec Eclipse et que c'etait le plus connu.

    En framework de mock : JMock, puis JMockit, puis Mockito.

    JMock était clair, la cheetsheat du site est nickele, par contre on avait des besoins qu'il ne comblait pas, en particulier sur notre code legacy. On voulait aussi mocker autre chose que des interfaces (oui c'est vrai c'est possible avec JMock mais il faut magouiller un peu je crois?), et JMockit permettait de mocker des blocs statics et des méthodes statiques. Et des constructeurs. Par rapport aux autres frameworks, il est basé sur l'instrumentation.

    Le besoin le plus fréquent ca a été de devoir mocker une classe qui n'était ni un parametre ni un attribut de la classe, en gros elle est innacessible, l'instanciation a lieu DANS la méthode. JMockit permet de redéfinir la classe : a la place de A, tu utiliseras mon mock Abis.

    L'avantage de Mockito, c'est quand le code est propre et testable : il est plus parlant que JMockit, les tests sont plus lisibles.
    ++
    Foucha.

    =========

    "du code propre c'est du code qui fait exactement ce qu'on croit que ça fait"

    Mes Articles DVP

  13. #13
    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
    TestNG parceque les annotations et les fonctionnalités qui vont avec qu'il fournit sont à mon goût largement meilleurs que celles de JUnit 4 : @BeforeTest, déclarations de groupes (génial pour distinguer les TU des tests d'intégrations...) @BeforeGroup, ...

    EasyMock et Unitils... parce qu'ils m'ont été imposés
    Unitils avec ses annotations ajoute un vrai plus à EasyMock et le rend nettement plus simple et convivial à utiliser.
    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 !

  14. #14
    Invité
    Invité(e)
    Par défaut
    Junit 5 + Mockito en test unitaire
    Junit 5 +sping en test d'integration

    pourquoi junit et mockito, car je suis un fan de boy de Uncle Bob le clean coder et il a dit il utilise mockito.
    Plus sérieusement c'est la bibliothèque de mock fournis par spring boot test out of the box, donc autant utiliser la dépendance quand elle est la, pas trop mal documenté et assez questionné sur stackoverflow.
    C'est pas simple au début mais c'est mieux que passer de longue minute a regarder un test d’intégration lancer tout l'usine à gaz et dérouler .

Discussions similaires

  1. Quel(s) outil(s) de gestion de projet utilisez vous, et pourquoi ?
    Par Ricky81 dans le forum Gestion de projet
    Réponses: 31
    Dernier message: 10/05/2018, 11h50
  2. Quels frameworks de test utilisez-vous ?
    Par Esil2008 dans le forum JSF
    Réponses: 32
    Dernier message: 03/06/2014, 19h11
  3. Réponses: 0
    Dernier message: 16/09/2009, 10h59
  4. Quel outil de tests unitaires choisir pour PL/SQL ?
    Par Vonotar dans le forum PL/SQL
    Réponses: 0
    Dernier message: 05/02/2008, 12h46
  5. Framework de tests unitaires
    Par hermes1983 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2006, 11h28

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