Saya bereksperimen dengan pengembangan yang digerakkan oleh tes, dan saya menemukan bahwa saya sering datang ke situasi berikut:
- Saya menulis tes untuk beberapa fungsionalitas X. Tes-tes itu gagal.
- Ketika mencoba mengimplementasikan X, saya melihat bahwa saya perlu mengimplementasikan beberapa fitur Y di lapisan bawah kode saya. Begitu...
- Saya menulis tes untuk Y. Sekarang kedua tes untuk X dan Y gagal.
Suatu ketika saya memiliki 4 fitur di berbagai lapisan kode yang sedang dikerjakan pada saat yang sama, dan saya kehilangan fokus pada apa yang sebenarnya saya lakukan (terlalu banyak tes gagal pada saat yang sama).
Saya pikir saya bisa menyelesaikan ini dengan lebih berupaya merencanakan tugas saya bahkan sebelum saya mulai menulis tes. Tetapi dalam beberapa kasus saya tidak tahu bahwa saya harus masuk lebih dalam, karena misalnya saya tidak tahu API lapisan bawah dengan sangat baik.
Apa yang harus saya lakukan dalam kasus seperti itu? Apakah TDD punya rekomendasi?