2012-09-04 3 views
0

나는 일반 메소드 GetService을 가진 서비스 팩토리를 가지고있다. 내가 T에게 건네 준 것을 토대로, 그 클래스에 대한 서비스를받습니다.다른 방법으로 스텁하기 T

이제는 이러한 서비스를 여러 개 사용하는 방법이 있으며 모든 서비스를 스텁링해야합니다. Ex: GetService<Coffee> , GetService<Tea>.

mockrepo.Stub(x => x.GetService<Coffee>().Expect(c => c.RetrieveList(coffeeCollection)).IgnoreArguments()); 
mockrepo.Stub(x => x.GetService<Tea>().Retrieve(1)).Return(testrefDataRefEle1); 

위의 코드에서 두 번째 스텁에서 "개체 참조가 개체의 인스턴스로 설정되지 않았습니다."오류가 발생합니다.

답변

0

Rhino.Mocks 에서처럼 재귀 모의를 할 수 없습니다. Retrieve 메서드를 가진 객체에 대해 스텁을 만들어야하고 testrefDataRefEle1을 반환하도록 설정해야합니다. 그 다음 스텁을 GetService<Tea>으로 설정하여 다른 조롱 된 객체를 반환합니다.

관련 문제