2009-12-22 7 views
34

RhinoMocks를 사용하고 있습니다. 이제 저는 어떤 함수가 호출되었다고 주장하고 싶습니다만, 저는 인수에 대해서만 신경을 씁니다. 하나의 인수 만 지정하면 AssertWasCalled을 수행 할 수 있습니까?RhinoMocks - AssertWasCalled의 모든 매개 변수를 지정하지 않습니다.

다음 예제에서는 SomeOtherFunction()의 두 번째 인수로 보낸 내용을 무시하고 싶습니다. 나는. 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)); 
} 

답변

61

그런 다음 실제 값이 무시됩니다, Arg<T>.Is.Anything로 제 2 인수를 지정할 수 있습니다.

그러나 이것을 사용하면 모든 인수에 Arg을 사용해야합니다. 즉, 첫 번째 인수 인 Arg<int>.Is.Equal(123)에 사용해야합니다.

관련 문제