0

MVPプレゼンター クラスの単体テストを行いたいです。ただし、サービスとの対話はインターフェイスを介していません (具象クラスを使用します)。今、構造を変更することなくサービスクラスをモックする方法があるのだろうか?

4

1 に答える 1

1

C#/VB.NET でのモックの通常の方法は、特定のシナリオに必要な実装で仮想メソッドをオーバーライドすることです。そのため、インターフェイスはすべてのメソッドが抽象的であるため、最も一般的に使用されるアプローチです。

サービスの依存関係をインターフェイスに変更することに気が進まない理由はありますか? 別の方法として、テストしたいメソッドを仮想化して、モックでオーバーライドできるようにすることもできますが、少し汚いのでお勧めしません。

単体テストの全体的なポイントは、特定の単体をテストすることだけなので、インターフェイスではなく実装に依存することは、実際には重要ではありません。

于 2012-09-23T19:19:00.273 に答える