5

MOQ ライブラリに何も追加せずに、MOQ でコンテナーを自動モックすることが可能かどうか疑問に思います。IList を自動モックするクリーンな方法を見つけるのに問題があります。

前もって感謝します!

4

1 に答える 1

8

質問への回答: いいえ。

本当に IList をモックする必要がありますか?

モックは通常、次の目的で使用されます。

  • 結果ではなく(期待を介して)行動をテストすること。
  • 複雑または重い依存関係を抽象化するため。
  • 必要な値を簡単に返すことで、テスト コードを簡素化します。
  • テスト対象のクラスのみをテストします。

たとえば、データベースにアクセスするリポジトリをモックできます。通常、テストはリストをモックするのではなく、モックされたオブジェクトがテストに必要なデータを含むリストを返すようにします。

すなわち:

var aList = new List<int>() { 1, 2, 3, 4, 5 };
var mockService = new Mock<IMyService>();
mockService.Setup(mock => mock.GetFooList()).Returns(aList);

コンテナーをモックする必要がある理由を指定すると、質問が明確になる場合があります。

于 2011-12-23T16:13:48.883 に答える