나는 순간에 다음과 같은 역할을하는 클래스가 :RhinoMock이이 테스트를 실패하지 않는 이유는 무엇입니까?
public class MyClass {
public void Method1(){
if (false) {
Method2();
}
}
public void Method2(){
//do something here
}
}
그래서 방법 2가 호출되지 않습니다 (내 코드는 조금 다르게 보입니다하지만 실행하지 않습니다 때문에 false로 평가하고이 경우 절을 Method2. 디버깅을 통해 확인했습니다.). RhinoMock에 Method2가 호출되고 테스트가 실패 할 것이라고 예상하고 싶습니다.
MockRepository mock = new MockRepository();
MyClass presenter = mock.PartialMock<MyClass>();
Expect.Call(() => presenter.Method2()).IgnoreArguments();
mock.ReplayAll();
presenter.Method1();
mock.VerifyAll();
...하지만 테스트가 통과됩니다.
합니다 (Expect.Call에서 람다 식의 이유는, 내 실제 방법 2 인자가 있음)
내 질문 :
- 는이 시나리오에서 테스트를위한 일반적인 접근 방식을? (RhinoMock과 mocking-frameworks로 시작했습니다.)
- 왜 테스트가 통과합니까?
: PartialMock만이 모의 가상 및 추상 메소드를
이 테스트는 당신이 단지에 방법 2의 서명을 할 것이다 실패 확인하십시오. –위대한 두 분 모두 고마워요. –