TDDの基本的な戦略は、あなたが今作業しているものを除いて、すべてのテストを合格に保つことです。あなたが心配する前に(A)のテストをパスする(B)。
あなたはクラスのテストやコードを書くと思いれる順番(A)とその複雑な依存関係(B)は
- (A)のためのテストを書くです。 [スイートは赤です。]
- 十分な(A)を実装して、渡すために書いたテストを取得します。必要なことを発見する(B)。 [スイートは赤です。]
- モック(B)。 [スイートは赤です。]
- あなたが書いたばかりの(A)のテストを完成させてください。 [スイートは緑色です。ああ!]リファクタリング。
- (A)の良い停止地点にいない場合は、上部に戻り、(A)の良い停止地点になるまで繰り返します。
- (B)のモックの一部またはすべてを行うために(B)を必要とする(B)のテストを書く。 [スイートは赤です。]
- あなたが書き込んだテストを合格にします。 [スイートは緑色です。ああ!]リファクタリング。
- (B)の模擬試験とコード(B)で模擬したことのすべてをまだ複製していない場合は、2つのステップに戻り、(B)の模擬試験のすべてを複製するまで。
この時点で、(A)または(B)でさらに作業するか、新しいものを開始するかを選択できます。
この戦略では、テストを常に成功させることができますが、アプリケーションがすぐに役立つものであることを保証するものではありません。あなたのアプリケーションが最終的に何か有益であることを確実にする方法は、受け入れテストとユニットテストがすべて合格するまで受け入れテスト(モックなしでアプリケーション全体に対して実行される)とTDDを書くことから始まります。
アクセプタンステスト(または他の統合テスト)では、モックされたクラスのテストとコーディングされたクラスのコードで、モックを正しく複製することも保証されています。
まだ実装されていないか、実装されていないか、モック内でのみ実装されていて、模擬依存関係のテストと実装に実装する必要があることを確認することが重要です。だから、TDD By Exampleと、TDDのやり方の他の例は、実際のリストや精神的なリストについて話をする理由です。依存関係が偽装されたクラス(A)の場合は、モックを書いた後で、あなたはちょうどモックでやったことを(A)または(B)で実装することができます。いずれにせよ、あなたが戻ってそれを行う準備が整うまで、ではなく、を選択したことを追跡しなければなりません。