私はテスト駆動開発を実験していますが、次のような状況に陥ることが多いことがわかりました。
- 一部の機能Xのテストを作成します。これらのテストは失敗します。
- Xを実装しようとしているときに、コードの下位層に機能Yを実装する必要があることがわかりました。そう...
- Yのテストを作成します。XとYの両方のテストが失敗します。
一度に異なるコードレイヤーで4つの機能を同時に使用すると、実際に実行していることに集中できなくなりました(同時に失敗するテストが多すぎます)。
テストの作成を開始する前であっても、タスクの計画にもっと力を入れることでこれを解決できると思います。しかし、いくつかのケースでは、例えば、下層のAPIをあまりよく知らなかったので、もっと深くする必要があることを知りませんでした。
そのような場合はどうすればよいですか?TDDには推奨事項がありますか?