Lors du cycle Rouge, Vert et Refactor, nous devrions toujours écrire le code minimum pour réussir le test. C'est la façon dont on m'a enseigné le TDD et la façon dont presque tous les livres décrivent le processus.
Mais qu'en est-il de la journalisation?
Honnêtement, j’ai rarement utilisé la journalisation dans une application, sauf s’il se passait quelque chose de vraiment compliqué. Cependant, j’ai vu de nombreux posts qui traitent de l’importance d’une bonne journalisation.
Donc, hormis la journalisation d'une exception, je ne pouvais pas justifier l'importance réelle de la journalisation dans une application correctement testée (tests unitaires / d'intégration / d'acceptation).
Donc mes questions sont:
- Avons-nous besoin de nous connecter si nous faisons du TDD? un test en échec ne révélera-t-il pas ce qui ne va pas avec l'application?
- Devrions-nous ajouter un test pour le processus de journalisation dans chaque méthode de chaque classe?
- Si, par exemple, certains niveaux de journalisation sont désactivés dans l'environnement de production, cela ne crée-t-il pas une dépendance entre les tests et l'environnement?
- Les gens expliquent comment les journaux facilitent le débogage, mais l'un des principaux avantages de la TDD est que je sais toujours ce qui ne va pas à cause d'un test qui a échoué.
Y a-t-il quelque chose qui me manque là-bas?