2011-08-26 5 views
8

내 단위 테스트에서 코드 단편을 따라했습니다.EasyMock : 조롱 된 객체가 실제 메소드를 호출 중입니다.

ClassToBeMocked mock = createMock(ClassToBeMocked.class); //I've statically imported EasyMock.* 
mock.callMethod(); //This is a void method 
expectLastCall(); 
replay(mock); 

그러나 테스트를 실행하면 기대에 부합하는 대신 callMethod()가 실제로 호출됩니다. 내가 뭔가 잘못하고 있는거야?

EasyMock 또는 모든 조롱 프레임 워크에 상당히 익숙하며이 문제로 인해 차단되었습니다. 어떤 도움이라도 대단히 감사하겠습니다.

고마워, AndyS

+0

ClassToBeMocked가 구체적인 클래스 또는 인터페이스입니까? 또한 EasyMock의 어떤 버전을 사용하고 있습니까? –

답변

8

당신이 '마지막'방법으로 클래스를 조롱하는 경우가 발생합니다. EasyMock은 최종 메소드를 덮어 쓰지 않습니다. 인터페이스를 모의 할 수 없으며 메소드를 최종으로 변경할 수없는 경우 EasyMock과 함께 PowerMock을 사용하면이 제한을 피할 수 있습니다. 이 특정 사용 사례는 here으로 설명됩니다.

관련 문제