Sto sperimentando uno sviluppo guidato dai test e ho scoperto che spesso arrivo a una situazione simile:
- Scrivo test per alcune funzionalità X. Quei test falliscono.
- Durante il tentativo di implementare X, vedo che devo implementare alcune funzionalità Y in un livello inferiore del mio codice. Così...
- Scrivo test per Y. Ora entrambi i test per X e Y falliscono.
Una volta avevo lavorato su 4 funzionalità in diversi livelli di codice contemporaneamente e stavo perdendo la mia attenzione su quello che sto effettivamente facendo (troppi test falliti contemporaneamente).
Penso di poter risolvere questo problema impegnandomi maggiormente nella pianificazione dei miei compiti ancor prima di iniziare a scrivere test. Ma in alcuni casi non sapevo che avrei dovuto approfondire, perché ad esempio non conoscevo molto bene l'API del livello inferiore.
Cosa devo fare in questi casi? TDD ha qualche consiglio?