RhinoMocksを使用しています。ここで、いくつかの関数が呼び出されたことを表明したいのですが、私は引数の1つだけを気にします。引数を1つだけ指定するAssertWasCalled
を実行できますか?
次の例では、SomeOtherFunction()の2番目の引数に送信されたものを無視したいと思います。つまりSomeOtherFunctionが最初のパラメーター123で呼び出されたことを確認したいのですが、2番目のパラメーターが何であるかは関係ありません。
[Test]
public void SomeTest()
{
var myMock = MockRepository.GenerateMock<ISomeInterface>();
var myObj = new MyClass(myMock);
myObj.foo()
myMock.AssertWasCalled(factory => factory.SomeOtherFunction(123, null));
}
2番目の引数を_Arg<T>.Is.Anything
_として指定すると、実際の値は無視されます。
ただし、これを使用するには、すべての引数にArgを使用する必要があることに注意してください。つまり、最初の引数Arg<int>.Is.Equal(123)
で使用する必要があります。