2010-03-29 2 views
32

MockRepository 클래스 (Rhino Mock 프레임 워크)에서 위의 메소드 간의 차이점을 적절한 예로 들자면 Rhino 전문가가 저에게 설명 할 수 있습니까?Rhino Mocks - GenerateStub의 차이점 <T> & GenerateMock <T>

모의 방법을 통해 스텁을 사용해야합니까? 그렇지 않으면 어디에서 사용해야합니까?

답변

52

메소드가 호출 된 것처럼 객체에서 문제가 발생했는지 확인할 때 mock을 사용해야합니다. 값을 반환하기 위해 테스트에 객체가 포함되기를 원할 때 스텁을 사용해야하지만 테스트중인 것은 아닙니다. 성취 된 기대치가없는 스텁은 결코 실패 할 수 없습니다.

일반 규칙은 테스트에서 하나의 모의 객체만을 가져야한다고 생각하지만 모의 객체에 정보를 제공하는 여러 스텁이있을 수 있습니다. 나는 테스트에서 1 개 이상의 모의가 코드 냄새라고 생각한다.

또한 Martin Fowler has a description of the difference

this question는 힘으로 유용 할 수 있습니다하지 않는 코뿔소 예를 들어 있지만 this one

관련 문제