Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

CITCON 2009 Mock mock and mock

20 septembre, 2009

Après une session sur la notion de « Done » sympathique, je suis allé écouter une discussion sur la mise en place d’un Pipeline d’intégration continue. Finalement la discussion s’est transformée en présentation du logiciel « Cruise » par ThoughWorks. Et comme je n’ai pas de temps à perdre à regarder une présentation commerciale, je suis allé rejoindre un débat sur les mocks dans une salle voisine. Sur scène, David Gageot de Tech4Quant et Steve Freeman. David est bien connu de la communauté Java sur Paris, et c’est une étincelle qui a le mérite de faire avancer nos habitudes. Steve Freeman est anglais, c’est l’un des auteurs du livre « Mock Objects and Test Driven Development« . C’est aussi un speaker reconnu qui a présenté 2 sujets à Agile 2009. Son expérience dans notre industrie est intéressante. Il explique ainsi que l’excitation récente sur TDD est paradoxale alors qu’en fait cette pratique existe depuis longtemps dans notre industrie… On en parle plus mais il faut bien comprendre que dans certaines industries comme l’électronique par exemple, la conception pilotée par les tests est le seul moyen de fonctionner.

Je n’ai pas noté tout ce qui s’est dit pendant cette séance, mais il était intéressant de voir Steve plus ou moins découvrir le code de David, et l’utilisation de Mockito. Avant que je n’aille plus loin : Mockito rocks ! Prenez easyMock et Mockito, le premier donne mal au ventre, vous fait perdre vos cheveux. Le deuxième est plus digeste, simple et diablement plus intelligent que son copain.
Sur le code présenté, nous essayons d’identifier des bonnes pratiques des Mocks. David recommande de ne pas utiliser de méthodes private dans des tests unitaires. Cela n’améliore pas la lisibilité. D’ailleurs si vous n’arrivez pas à lire ce que fait un test, c’est que la méthode testée est trop compliquée.
David j’ai une idée : pourquoi ne pas développer un petit plugin pour Eclipse/IDEA IntelliJ qui afficherait la complexité cyclomatique dans la classe de test unitaire, au niveau de la méthode du test unitaire ? Cela donnerait un indicateur de ce que l’on est entrain de tester, et donc une idée de l’effort à fournir…
Steve appuie aussi l’importance du nom de votre méthode de test. Même si l’anglais n’est pas votre langue native, il est important de trouver un certain phrasé sur les noms des méthodes des tests unitaires.
Nous avons une discussion sur les pratiques à mettre en place pour mocker les DAO. Gojko Adzic rappelle qu’un pattern comme Repository présenté par Martin Fowler, permet de mettre une abstraction entre le moyen de stockage et les données. Ecrire un Repository c’est très simple. Prenez cet article en C# qui est assez complet, et vous aurez compris le principe.
Voir aussi cet article inspiré par Eric Evans, le père du Domain Driven Design, qui est passé au Paris JUG l’été dernier, et cet article de Christian Bauer qui critique le pattern Repository si vous voulez avoir un autre son de cloche.

Après pas mal de discussions animées, que je n’ai pas noté (pour une fois) nous avons fait une pause déjeuner.

Je vous laisse regarder les articles, je me prépare pour l’article suivant sur les tests d’acceptance.

Je reviens dans 5 minutes…

0 no like

Articles similaires:

Default ThumbnailCITCON 2009 Paris Default ThumbnailCITCON 2009 Done and Testing CITCON 2009 User Acceptance Test Default ThumbnailMock JavaMail

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express