Ich experimentiere mit testgetriebener Entwicklung und habe festgestellt, dass ich häufig in folgende Situationen gerate:
- Ich schreibe Tests für einige Funktionen X. Diese Tests schlagen fehl.
- Beim Versuch, X zu implementieren, sehe ich, dass ich ein Feature Y in einer unteren Ebene meines Codes implementieren muss. So...
- Ich schreibe Tests für Y. Jetzt schlagen beide Tests für X und Y fehl.
Einmal wurden 4 Features in verschiedenen Codeebenen gleichzeitig bearbeitet, und ich verlor den Fokus auf das, was ich gerade tue (zu viele Tests schlagen gleichzeitig fehl).
Ich denke, ich könnte dieses Problem lösen, indem ich mehr Aufwand in die Planung meiner Aufgaben stecke, noch bevor ich anfange, Tests zu schreiben. Aber in einigen Fällen wusste ich nicht, dass ich tiefer gehen muss, weil ich zB die API der unteren Schicht nicht sehr gut kannte.
Was soll ich in solchen Fällen tun? Hat TDD irgendwelche Empfehlungen?