J'expérimente avec le développement piloté par les tests et j'ai constaté que j'arrive souvent à la situation suivante:
- J'écris des tests pour certaines fonctionnalités X. Ces tests échouent.
- En essayant d'implémenter X, je vois que j'ai besoin d'implémenter une fonctionnalité Y dans une couche inférieure de mon code. Donc...
- J'écris des tests pour Y. Maintenant, les deux tests pour X et Y échouent.
Une fois, j'avais 4 fonctionnalités dans différentes couches de code travaillées en même temps, et je perdais ma concentration sur ce que je fais réellement (trop de tests échouant en même temps).
Je pense que je pourrais résoudre ce problème en mettant plus d'efforts dans la planification de mes tâches avant même de commencer à écrire des tests. Mais dans certains cas, je ne savais pas que je devrais aller plus loin, parce que, par exemple, je ne connaissais pas très bien l'API de la couche inférieure.
Que dois-je faire dans de tels cas? TDD a-t-il des recommandations?