我正在使用 RhinoMocks。现在我想断言调用了某个函数,但我只关心其中一个参数。我可以在只指定一个参数的地方执行 AssertWasCalled
吗?
在下面的示例中,我想忽略发送到 SomeOtherFunction() 的第二个参数的内容。 IE。我想检查是否使用第一个参数 123 调用了 SomeOtherFunction,我不关心第二个参数是什么。
[Test]
public void SomeTest()
{
var myMock = MockRepository.GenerateMock<ISomeInterface>();
var myObj = new MyClass(myMock);
myObj.foo()
myMock.AssertWasCalled(factory => factory.SomeOtherFunction(123, null));
}
最佳答案
您可以将第二个参数指定为 Arg<T>.Is.Anything
, 然后忽略实际值。
但是请注意,使用它您需要为所有参数使用 Arg。这意味着您需要在第一个参数上使用:Arg<int>.Is.Equal(123)
.
关于c# - RhinoMocks - 未在 AssertWasCalled 中指定所有参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946904/