2013-10-08 10 views
2

Rhino-Mocks가 스텁하려는 방법을 찾는 방법을 알고 싶습니다. 단지 앞으로 나는 아래의 프레임 워크에 대리인을Rhino-Mocks는 어떻게 조롱합니까?

var stubUserRepository = MockRepository.GenerateStub<IUserRepository>(); 
stubUserRepository.Stub(x => x.GetUserByName("ayende")).Return(theUserObject); 

예에서 : 아래의 예는 방법 GetUserByName을 스터브.

메소드 서명을 사용하고 있다고 생각합니다. 내가 맞습니까?

리플렉션을 사용하고 있습니까? 그렇다면 어떻게?

어디에서 볼 수 있습니까? 어떻게 작동합니까?

저는 C#을 사용하고 있습니다. 나는 뒤에 개념과 C# 적용된 것들을 알고 싶다.

답변

2

Stub 호출은 선택적인 Expect 호출을 설정합니다. Stub (이 경우 x => x.GetUserByName("ayende"))에 전달 된 함수는 실제로 mock 개체 (Castle DynamicProxy 개체)에 대해 실행됩니다. 호출은 차단되고 예상대로 매개 변수와 함께 MockRepository에 기록됩니다. IMethodOptions<> 개체는 호출에 대해 저장된 데이터에서 생성되어 반환되며 이후 Return(theUserObject)이 호출됩니다.

dotPeek과 같은 것을 사용하면 Rhino.Mocks.dll을 더 자세히 분해하고 검사 할 수 있습니다. 관련 코드는 RhinoMocksExtensions.cs, Rhino.Mocks 네임 스페이스에 있습니다.

관련 문제