Disclaimer
- Il s'agit d'une introduction.
- Je ne parlerai pas
- de mock,
- de tests d'intégration.
- Les exemples seront en java.
oh. et oui, il se peut que j'exagère un peu... :)
Ma définition
- Unit test
un test qui vérifie un comportement d'un morceau de code.
Pourquoi ?
- parce que c'est à la mode !?
- les tests sont une preuve que votre code fait ce qu'il est supposé faire.
- au plus tôt on trouve le problème, le moins cher coûte sa résolution.
- ils donnent confiance lorsqu'on fait des modifications.
- rendre un code testable (et testé) conduit souvent à un meilleur design.
- les tests expliquent ce que fait votre code.
Qualité d'un test unitaire
- Fast
- Isolated
- Repeatable
- Self-validating
- Timely
Test After.
Les tests après.
(faux) problèmes
C'est bon ça marche, pas besoin de test.
Je suis à la bourre, et j'ai du fonctionnel plus important. J'écrirai les tests plus tard.
Les tests c'est pour ceux qui savent pas coder.
(gros) problèmes
- on peut avoir écrit du code qui n'est pas testable.
- on ne voit jamais les tests échouer
- souvent, les tests sont écrits en étudiant le code.
Test First
Les tests d'abord.
Les tests d'abord.
- Réfléchir à ce que je veux faire.
- Écrire les tests correspondants.
- Écrire le code qui les fera passer.
Enjoy.
TDD : Test Driven Developpement
Développement guidé par les tests
Développement guidé par les tests
- Écrire exactement un test qui échoue.
- Le faire passer.
- Nettoyer.
Répéter.
Test Driven Developpement
- Red
- Green
- Refactor
That's all !