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

  1. #1
    Expert éminent sénior
    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é
    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é
    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é
    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
    Idem que Gronono, EasyMock, Unitils et Junit.

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

  6. #6
    Rédacteur

    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
    idem que eclesia, mais je vais me pencher sur easyMock ou mockito

  8. #8
    Membre du Club
    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
    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
    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/as...g-and-telling/
    http://hamletdarcy.blogspot.com/2007...ent-spies.html

  11. #11
    Membre actif
    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
    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é
    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
    Futur Membre du Club
    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 .

###raw>template_hook.ano_emploi###