Moq ページから試したリンクの半分は壊れており、公式の API ドキュメントへのリンクも含まれています。そこでここで質問します。
次のように、単一の「すべてをキャッチ」パラメーターを正常に使用しました。
mockRepo.Setup(r => r.GetById(It.IsAny<int>())).Returns((int i) => mockCollection.Where(x => x.Id == i).Single());
ただし、複数のパラメーターで同じ動作を実現する方法がわかりません。
mockRepo.Setup(r => r.GetByABunchOfStuff(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<int>())).Returns( ..... );
....
分からない部分です。
ヨルダンに応じて編集:
問題は、1 つだけではなく 3 つのパラメーターをどのように表すかです。
回す方法:
(int i) => mockCollection.Where(x => x.Id == i)
の中へ:
(int i), (string s), (int j) => mockCollection.Where(x => x.Id == i && x.SomeProp == s && x.SomeOtherProp == j)