开发者

RhinoMocks - Not specifying all parameters in AssertWasCalled

开发者 https://www.devze.com 2022-12-14 20:04 出处:网络
I am using RhinoMocks. Now I want to assert that some function was called, but I only care about one of the arguments. Can I do a AssertWasCalled where I only specify one argument?

I am using RhinoMocks. Now I want to assert that some function was called, but I only care about one of the arguments. Can I do a AssertWasCalled where I only specify one argument?

In the following example I'd like the igno开发者_C百科re what was sent to the second argument of SomeOtherFunction(). I.e. I want to check that SomeOtherFunction was called with first parameter 123 and I don't care what the second parameter was.

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

    myMock.AssertWasCalled(factory => factory.SomeOtherFunction(123, null));  
}


You can specify the 2nd argument as Arg<T>.Is.Anything, then the actual value gets ignored.

However note that using this you need to use Arg for all arguments. Which means you need to use on the first argument: Arg<int>.Is.Equal(123).

0

精彩评论

暂无评论...
验证码 换一张
取 消