Developpez.com - Rubrique Java

Le Club des Développeurs et IT Pro

Sondage : Quels frameworks de tests unitaires et de mock

Utilisez-vous en Java, et pourquoi ?

Le 2009-12-17 23:06:56, par Ricky81, Expert éminent sénior
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
  Discussion forum
13 commentaires
  • dingoth
    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.
  • michel.di
    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!
  • gronono
    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.
  • Steph82
    Membre actif
    Idem que Gronono, EasyMock, Unitils et Junit.

    Simple d'utilisation pour tester les DAO avec DBUnit et HSQLDB.
  • eclesia
    Rédacteur
    Junit seulement pour moi.
    Pas d'outil "mock".
  • Frankyfred
    Futur Membre du Club
    idem que eclesia, mais je vais me pencher sur easyMock ou mockito
  • TheNOHDirector
    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.
  • kerflyn
    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)
  • loicmidy
    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
  • MigouW
    Membre actif
    Seulement Junit pour moi, la raison, parce que c'est celui que l'on utilisait en cours et en entreprise