Mockito. Ecrire des tests unitaires est devenu simple.

F0887bf6175ba40dca795eb37883a8cf?s=47 dgageot
September 26, 2011
200

Mockito. Ecrire des tests unitaires est devenu simple.

F0887bf6175ba40dca795eb37883a8cf?s=128

dgageot

September 26, 2011
Tweet

Transcript

  1. Ecrire des tests unitaires est devenu simple. Monday, September 26,

    11
  2. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund»

    @dgageot javabien.net Monday, September 26, 11
  3. Photo: http://www.flickr.com/photos/91082225@N00/3271601712 Dans la salle : Tests unitaires ? Couverture

    >50% ? TDD ? Mocks ? Monday, September 26, 11
  4. Le code modifié pour être testable. Les frameworks de mocks

    verbeux. La réécriture des tests quand le code change. L'écriture de helpers/builders rien que pour les tests. Fini... Monday, September 26, 11
  5. « Objet passé en argument mais jamais utilisé » Dummy

    object « Implémentation simplifiée suffisante pour les tests » Fake Object Stub « Réponses pré-programmées et parfois une mémoire » Mock « Contrat de collaboration » Monday, September 26, 11
  6. Photo: http://lh4.ggpht.com/_hViQXCC13cs/Sg21-wh7znI/AAAAAAAAA48/Piztq3c9cwE/s288/DSCN3658.JPG Mocks à la main Contre Le match Monday,

    September 26, 11
  7. Round 01 - Les Dummy objects Monday, September 26, 11

  8. « Objet passé en argument mais jamais utilisé » Dummy

    object Monday, September 26, 11
  9. Pas de NullPointerException. Indépendant de l’évolution constructeur. Fonctionne avec les

    interfaces et les classes. Moins de tests qui changent quand le code change Plus robuste Pas besoin de changer le code pour le rendre testable Dummy avec Mockito Monday, September 26, 11
  10. Round 02 - Les Fakes Monday, September 26, 11

  11. « Implémentation simplifiée suffisante pour les tests » Fake Object

    L’implémentation simplifiée peut être +/- complexe : HashMap pour une base clef/valeur. Base de données mémoire pour remplacer mysql. Monday, September 26, 11
  12. Fake avec Mockito Pas le rôle d’un framework de Mocks.

    Sauf si le fake n’a pas de mémoire : Pas besoin de changer le code pour le rendre testable Plus facile à maitriser Monday, September 26, 11
  13. Round 03 - les Stubs Monday, September 26, 11

  14. Stub « Réponses pré-programmées et parfois une mémoire » Monday,

    September 26, 11
  15. Stub avec Mockito Pas besoin de classe de test Moins

    sensible aux changements Monday, September 26, 11
  16. Assertion plutôt que Vérification Monday, September 26, 11

  17. Round 04 - les Mocks Monday, September 26, 11

  18. Mock « Vérification de comportement et d'interactions » Pas besoin

    de classe de test Moins de tests qui changent quand le code change Pas besoin de changer le code pour le rendre testable Monday, September 26, 11
  19. Mock Tester la gestion des exceptions. Monday, September 26, 11

  20. Mock Tester les appels multiples. Monday, September 26, 11

  21. Mock Capture de paramètres. Monday, September 26, 11

  22. Round 05 - les Builders Monday, September 26, 11

  23. Mock « Vérification de comportement et d'interactions » Pas besoin

    de classe de test Moins de tests qui changent quand le code change Pas besoin de changer le code pour le rendre testable Monday, September 26, 11
  24. Mock Tester la gestion des exceptions. Monday, September 26, 11

  25. Mock Tester les appels multiples. Monday, September 26, 11

  26. Mock Capture de paramètres. Monday, September 26, 11

  27. Pas besoin de changer le code pour le rendre testable

    Pas d’ implémentation classe pour les tests Moins de tests qui changent quand le code change Robuste Lisible Compact Monday, September 26, 11
  28. Kung Fu avec Mockito. Photo: http://upload.wikimedia.org/wikipedia/commons/d/dd/Wooden-dummy.jpg Monday, September 26, 11

  29. Réponses multiples Monday, September 26, 11

  30. Annotations Monday, September 26, 11

  31. Stubs multi-niveaux Monday, September 26, 11

  32. Beaucoup d’autres fonctionnalités Mocks partiels pour remplacer certaines méthodes d’un

    vrai objet. Syntaxe BDD (given/when/then). Matchers. ... Monday, September 26, 11
  33. Merci. Questions / Réponses Monday, September 26, 11

  34. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund»

    @dgageot javabien.net Monday, September 26, 11