4

TDD を使用して戦略パターンを実装しようとしています。各戦略項目はインターフェースを実装します。TDDでこれを行う最良の方法は何ですか?

同じメソッドをテストするインターフェイスの実装ごとに、実装ごとにテスト フィクスチャを作成する必要がありますか?

取るべきアプローチを詳述する記事は、感謝して歓迎されます:)

4

2 に答える 2

1

戦略の実装ごとに個別のテスト クラスを作成すると思います。

これらすべてを継承する抽象クラスを作成できます。これは、すべての戦略のすべてのテストを確実に実装するのに役立ちますが、少なくとも各テスト クラスがコンパイルされる前に、スタブ メソッドを実装する必要があるというわずかな欠点があります。

于 2010-06-04T10:59:26.457 に答える
1
  1. 失敗するテストを書く
  2. そのテストに合格するために醜いコードを書く
  3. コードを改善するためのリファクタリング

ステップ 2 では、ストラテジー パターンを実装していないコードを記述します (重複したコードが存在する場合でも機能する最も単純なもの)。

次に、ステップ 3 で、各クラスを一度に 1 つずつ、戦略パターンに向けてリファクタリングします (そうすることが理にかなっている場合)。

本当に TDD を行っているのであれば、パターンから始めるのではなく、パターンにリファクタリングします。

于 2010-06-04T11:10:59.987 に答える