Tôi đang thử nghiệm phát triển dựa trên thử nghiệm và tôi thấy rằng tôi thường gặp phải một tình huống sau:
- Tôi viết bài kiểm tra cho một số chức năng X. Những bài kiểm tra thất bại.
- Trong khi thử triển khai X, tôi thấy rằng tôi cần triển khai một số tính năng Y ở lớp dưới của mã. Vì thế...
- Tôi viết bài kiểm tra cho Y. Bây giờ cả hai bài kiểm tra cho X và Y đều thất bại.
Khi tôi có 4 tính năng trong các lớp mã khác nhau được thực hiện cùng một lúc và tôi đã mất tập trung vào những gì tôi thực sự đang làm (quá nhiều thử nghiệm thất bại cùng một lúc).
Tôi nghĩ rằng tôi có thể giải quyết điều này bằng cách nỗ lực nhiều hơn vào việc lập kế hoạch cho các nhiệm vụ của mình ngay cả trước khi tôi bắt đầu viết bài kiểm tra. Nhưng trong một số trường hợp, tôi không biết rằng mình sẽ cần phải đi sâu hơn, vì ví dụ tôi không biết rõ về API của lớp thấp hơn.
Tôi nên làm gì trong những trường hợp như vậy? TDD có khuyến nghị nào không?