Whiteship's Note

EasyMock 사용할 때 주의 할 것

모하니?/Coding : 2008.04.29 19:47


    public void foo(Bar bar) {
        ...
        
        bar.toby(whiteship);
        bar.whiteship(toby);
    }

위와 같은 메소드를 테스트 할 때 EasyMock을 사용해서 다음과 같은 테스트를 작성할 수 있습니다.

@Test
public void foo(){
   Bar mockBar = createMock(Bar.class);
   ...
   mockBar.toby(whiteship);
   mockBar.whiteship(toby);
   replay(mockBar);
   a.foo(mockBar);
   verify(mockBar);
}

테스트가 통과할 것만 같은 코드입니다. 그렇쵸? 대부분은 테스트가 통과 합니다. 그런데 통과하지 않는 경우도 있습니다.

java.lang.IllegalStateException: missing behavior definition for the preceeding method call toby(whiteship);

이런 메시지와 함께 테스트가 통과하지 않습니다.

그럴 때는 뭘 확인해 봐야 할까요? Bar 인터페이스에 있는 whiteship과 foo라는 메소드의 리턴타입이 있는지 확인해봐야 합니다. 리턴타입이 있으면 http://whiteship.tistory.com/1504
top

TAG



: 1 : ··· : 194 : 195 : 196 : 197 : 198 : 199 : 200 : 201 : 202 : ··· : 299 :