2009-12-01 3 views
11

IgnoreArguments 대신 내 단위 테스트에서 rhino mocks 테스트에서 인수의 부분 일치를 사용하고 싶습니다. 어떻게 그럴 수 있습니까?rhino mocks의 부분 인수 일치

감사합니다, 존

답변

16
// arrange 
var fooStub = MockRepository.GenerateStub<IFoo>(); 

// act 
fooStub.Bar("arg1", "arg2", 3); 

// assert 
fooStub.AssertWasCalled(
    x => x.Bar(
     Arg<string>.Is.Equal("arg1"), 
     Arg<string>.Is.Anything, 
     Arg<int>.Is.Equal(3)) 
); 
6

당신은 constraints를 사용할 수 있습니다. expectation 호출에 전달 된 인수를 무시한 다음 각 인수에 명시 적 제약 조건을 추가합니다. Rhino Mock 문서의 예 :

Expect.Call(view.Ask(null,null)).IgnoreArguments().Constraints(
    Is.Anything(), 
    Is.TypeOf(typeof(SomeType))).Return(null); 
관련 문제