easymock은 일단 학습을 하고 나면, 사용하기가 쉽다.
하지만, 처음에 접할 때 조금 난해한 API사용 방법으로 어려움을 겪는 사람들이 많다.
jdk5.0을 사용을 하면, static import가 가능해져서 그나마 과거 easymock보다는 사용하기가 쉽다.

아래 static 메소드들은 다음과 같은 의미가 있다.

createMock : 인터페이스나 클래스의 mock객체를 생성한다.

replay : mock객체의 인터페이스를 호출하는 것을 기록한 것을 다시 처음으로 돌린다.

verify : 기록한 내용의 behavior(행위)들을 다 실행을 했는지 체크를 한다.

reset : createMock으로 생성한 mock을 초기화 한다.

위와 같은 실행을 하는 동안 중간에 assert 메소드들을 넣어서 비즈니스 로직을 확인하면 되겠다.

참고로, easymock extension은 인터페이스가 아니고, Concrete클래스를 mock으로 만들수 있다.

easymock, jmock은 항상 경쟁을 하면서 API 편의성과 refactoring이 용이하다는 서로 간의 장단점떄문에 많은 비교문서가 있지만, 일단 API를 습득을 하고 나면, refactoring이 가능한 easymock을 사용하는 것이 더 편리하다.

jMock도 조만간 refactoring을 쉽게 할수 있도록 구조를 변경한다고 하는데 언제쯤 나올지는 모르겠다.

트랙백 보낼 주소 :: http://www.ologist.co.kr/trackback/579

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2007/03/31 11:29
    댓글 주소 수정/삭제 댓글
    jMock 2.0RC1 나왔습니다. 그런데 제가 보기에는 이전 인터페이스가 더 직관적이고 사용하기 쉬운 것 같아요. 메소드 이름을 문자열로 적어야 해서 _자동_ 리네임 리팩토링이 안되는 단점이 있기는 하지만 테스트 돌리면 실수를 바로 찾아낼 수 있기 때문에 저는 문제가 없더군요.
    • 2007/04/01 17:34
      댓글 주소 수정/삭제
      저같은 경우는 코드를 무지 자주 바꿉니다. rename클래스를 위임으로 했다가 다시 없애기도 하고, 생각나는대로 바꾸어 봅니다. 바뀐 코드를 보면서 내가 유지보스나 확장을 할때 코드를 보면서 애매한 부분을 수정하는 것이죠. easymock은 refactoring을 하면 같이 수정이 되므로, 실수를 거의 안 할수 있습니다. jMock은 실수할 가능성이 더 높은 것이죠. 저는 더 확률이 적은 것을 선택하는 것입니다. 테스트 코드가 깨질 가능성이 적은 것을 선택한 것이죠. 그러한 면에서 easymock은 나에게 유용한 API를 제공을 해줍니다.

      하지만, 고민이 하나 있습니다. 저같은 경우는 easymock을 비교적 많이 사용을 해서 테스트 코드가 이해를 하기 쉽지만, easymock을 잘 모르는 사람이 보면 어려움을 느낄수도 있을 듯합니다.
  2. 2008/05/23 04:52
    댓글 주소 수정/삭제 댓글
    친구는 너의 현재 위치의 팬이 되었다!
  3. 2008/05/23 05:23
    댓글 주소 수정/삭제 댓글
    걸출한 뉴스!! 종류 블로그!
  4. 2008/05/23 05:53
    댓글 주소 수정/삭제 댓글
    관심을 끌. 너가 좋을 동일할 지점을.
  5. 2008/05/23 05:57
    댓글 주소 수정/삭제 댓글
    정말 같지 않는 블로그!
  6. 2008/05/23 07:23
    댓글 주소 수정/삭제 댓글
    걸출한 블로그!
  7. 2008/05/24 01:30
    댓글 주소 수정/삭제 댓글
    좋은 영역! 걸출한 영역!
  8. 2008/05/24 01:43
    댓글 주소 수정/삭제 댓글
    뉴스를 위한 감사합니다…
  9. 2008/05/24 01:46
    댓글 주소 수정/삭제 댓글
    많은 감사 위치! 우수한 나는 너의.
  10. 2008/05/24 02:54
    댓글 주소 수정/삭제 댓글
    좋은 너를 위치! 감사하십시요.


BLOG main image
OOP and Java by ologist

공지사항

카테고리

All (649)
private!! (106)
WEB & IT (140)
Developer (400)