C# RhinoMocks-未指定AssertWasCalled中的所有参数

C# RhinoMocks-未指定AssertWasCalled中的所有参数,c#,unit-testing,rhino-mocks,C#,Unit Testing,Rhino Mocks,我正在使用Rhinomock。现在我想断言调用了某个函数,但我只关心其中一个参数。我是否可以在只指定一个参数的情况下执行名为的AssertWas 在下面的示例中,我希望忽略发送到SomeOtherFunction()的第二个参数的内容。也就是说,我想检查是否使用第一个参数123调用了其他函数,我不关心第二个参数是什么 [Test] public void SomeTest() { var myMock = MockRepository.GenerateMock<ISomeInter

我正在使用Rhinomock。现在我想断言调用了某个函数,但我只关心其中一个参数。我是否可以在只指定一个参数的情况下执行名为的AssertWas

在下面的示例中,我希望忽略发送到SomeOtherFunction()的第二个参数的内容。也就是说,我想检查是否使用第一个参数123调用了其他函数,我不关心第二个参数是什么

[Test]
public void SomeTest()
{
    var myMock = MockRepository.GenerateMock<ISomeInterface>();    
    var myObj = new MyClass(myMock); 
    myObj.foo()

    myMock.AssertWasCalled(factory => factory.SomeOtherFunction(123, null));  
}
[测试]
公共测试()
{
var myMock=MockRepository.GenerateMock();
var myObj=新的MyClass(myMock);
myObj.foo()
调用myMock.assertwas(factory=>factory.SomeOtherFunction(123,null));
}

您可以将第二个参数指定为
Arg.Is.Anything
,然后忽略实际值

但是请注意,使用此选项时,所有参数都需要使用Arg。这意味着您需要在第一个参数上使用:
Arg.Is.Equal(123)

您在哪里确切地使用了
Arg
?像这样<代码>工厂.SomeOtherFunction(参数为.Equal(123),参数为.Anything)