2011-12-23 6 views
4

MOQ内のコンテナをMOQ libに追加せずにオートモックできるかどうか疑問に思います。 IListをオートモックするクリーンな方法を見つけるのに問題があります。拡張子/ contribなしでMOQ内のコンテナ(例えばIList)を自動モックする方法

ありがとうございます!あなたの質問へ

+5

なぜIListをモックしたいですか?リストを作成して使用してください。あなたがテストしようとしているIListの動作はありますか? – PatrickSteele

+0

あなたの質問からは、あなたが達成するのが困難であることは明らかではありません。 IListを模倣する正当な理由があるかもしれませんが、「automock」はどういう意味ですか? –

+0

私はこれを参照しています - > http://code.google.com/p/moq-contrib/wiki/Automocking。コンテナをモックしようとする – zhengtonic

答えて

7

回答:いいえ

あなたが本当にのIListを模擬する必要がありますか?むしろ結果より(期待を介して)動作をテストする

  • モックは、典型的に使用されています。

  • 複雑または重い依存関係を抽象化する。
  • 簡単に目的の値を返すことでテストコードを簡素化します。
  • テスト中のクラスのみをテストするには

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

すなわち:

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

それはあなたがコンテナを模擬する必要がある理由を指定した場合、あなたの疑問を明確に役立つかもしれません。

関連する問題