Я експериментую з тестовою розробкою, і я виявив, що часто стикаюся з такою ситуацією:
- Я пишу тести на деяку функціональність X. Ці тести виходять з ладу.
- Намагаючись реалізувати X, я бачу, що мені потрібно реалізувати деяку функцію Y у нижньому шарі свого коду. Так...
- Я пишу тести на Y. Зараз обидва тести на X і Y провалюються.
Колись у мене одночасно працювали 4 функції в різних шарах коду, і я втрачав увагу на тому, що я насправді роблю (занадто багато тестів не вдалося одночасно).
Я думаю, що я міг би вирішити це, доклавши більше зусиль для планування своїх завдань ще до того, як почати писати тести. Але в деяких випадках я не знав, що мені потрібно буде заглибитись, тому що, наприклад, я не дуже добре знав API нижнього шару.
Що мені робити в таких випадках? Чи має TDD якісь рекомендації?