2009-08-18 3 views
2

나는 시나리오를 다음과 같이 있습니다어떻게 Rhino Mocked 객체에 값을 설정할 수 있습니까?

form = MockRepository.GenerateMock<IAddAddressForm>(); 
mediator = new AddAddressMediator(form); 

중재자 테스트에서 실제 개체이며, "폼"개체의 값을 설정 할 수 있어야합니다.

는하지만 양식 객체에 대한 값을 설정하는 데 참조 할 수있는 유일한 방법은 다음과 같이이다 :

form.Stub(x=>x.FirstName).Return(item.FirstName) 

내 실제 코드에서 그 일을 할 싶지 않아요.

모의의 요점을 놓치고 있습니까?

답변

1

Stubs은 속성 동작을 지원합니다. 스텁을 사용하지 않는 경우 PropertyBehaviour() 메서드를 사용하여 비슷한 효과를 얻을 수 있습니다.

조정자 내에서 form 개체를 정상적으로 사용해야합니다. 위조 된 개체가 전달되었음을 알 필요가 없습니다.

이 코드 :

form.Stub(x=>x.FirstName).Return(item.FirstName) 

이 실제 개체에 있으면 안됩니다,하지만 당신은 당신의 모의 객체를 사용하는 방법에 대한 기대치를 설정하여 테스트의 일부가 될 수 있습니다.

편집 : 당신이 제공 한 것과

, 난 당신이 "모의 객체의 요점"하고 있는지 판단 할 수 있습니다. 중요한 목적은 종속성과 분리 된 종속성을 가진 코드를 테스트하는 방법을 제공하는 것입니다. Martin Fowler의 에세이 "Mocks Aren't Stubs"과 Rhino Mocks documentation의 사용 지침 섹션을 살펴보십시오.

+0

달콤한 답변! 고마워요. (두 번 투표 할 수 있었으면 좋겠다.) – Vaccano

+0

haha ​​cheers :) 서비스의 행복 ... –