2012-11-08 6 views
9

Setup()メソッドを使用して、インターフェイスの模擬インスタンスの動作を設定しています。moq:Setup()を使用する場合、メソッドパラメータの等価性はどのようにして決まりますか?

私が設定しているメソッド(DoSomething()と呼ぶ)は、クラスのインスタンスを受け入れます(クラスFooを呼び出しましょう)。

Foo foo = // Existing foo instance 
Mock<IMyInterface> mock = new Mock<IMyInterface>(); 
mock.Setup(x => x.DoSomething(foo)).Returns(1); 

私がいる問題は、私はモックを使用する場合、それはセットアップと一致したことがないということですので、1

を返すことはありません誰が助けることはできますか? Moqは、設定方法に提供されるパラメータが等しいかどうかをどのように決定しますか?

答えて

7

私の質問に対する答えは、Moqが.Equalsを使用して、メソッドを設定するパラメータが等しいかどうかを判断することです。

+0

R#は、クラスに対してEqualsメソッドを自動的に生成できるので、ここで大きな助けとなります。 –

関連する問題