Les fonctionnalités des framework de doublures de tests peuvent varier.
Dans le cas de tests, les doublures de tests permettent de découpler le système tester de son environnement.
Les doublures basiques:
- Comportement Dummy (Le comportement n'est pas testé la doublure est nécessaire; pour EasyMock createNiceMock)
- Comportement Stub/Bouchon (On ne vérifie pas les interractions, seules les réponses)
- Comportement Spy/Espion (Les interractions sont enregistrées et vérifiées aprés coup)
- Comprotement Mock/Simulacre (Les interractions sont attendues lors de l'éxécution)
- Comportement Fake/Implémentation Légère (La on tape dans les tests d'intégrations)
Dans le cas d'un projet Legacy, il faut vite s'orienter sur les mocks partiels (fonctionnalité générique), la surcharge des fonctions statiques, l'injection de mock via le classloader, le mockage des fonctions privés (court-circuit), le mockage avec espions ... ou plus radicalement abandonné les tests unitaires pous s'orienter vers des tests boîtes noires.
Pour un projet ou une évolution from scratch, les fonctinnalités utilisées sont génériques.
Donc choix selon l'API (annotation ou pas, séparation des comportements stub/mock), la doc et la version de Java nécessaire.
A noter que certains projets (Spring par exemples) fournissent leurs bouchons/espions/dummy .
0 |
0 |