http://www.easymock.org/Downloads.html
위 링크에서 Easymock을 다운로드 합니다.

압축을 풀면 easymock.jar 파일이 있습니다. 이것을 Eclipse 프로젝트에 추가합니다. 그리고 JUnit 도 추가합니다. JDK는 5.0 이상에서 작동합니다. (easymock 버젼 2 부터 그런 것 같습니다.)

MemberRepositoryImpl 클래스를 테스트 하기 위한 코드 입니다.

import static org.easymock.EasyMock.*;
import org.junit.*;
import net.webapp2.member.dao.MemberDao;

public class MemberRepositoryTest {

   MemberDao mockMemberDao;
   MemberRepository memberRepository;

   @Before
   public void setup(){
       mockMemberDao = createMock(MemberDao.class);
       memberRepository = new MemberRepositoryImpl();
   }

   @Test
   public void add(){
       //recoding

       //verify
   }
}

이 전에는 MemberDao 까지 거쳐서 테스트를 했었지만 위의 상태는 아래의 그림과 같이 MemberRepository에만 국한 될 수 있습니다.
1027627384.bmp
Easymock을 사용하는 방법은 세 단계로 나뉘어 집니다. 먼저 createMock(Interface Type)을 사용하여 Mock 객체를 만들게 됩니다. 인터페이스 타입의 객체는 못만들기 때문에 MemberDao를 사용하고 있던 MemberRepositoryImpl에서 SqlmapMemberDao(MemberDao 구현체) 까지 사용해가며 테스트를 했었는데 이제는 거기까지 가지 않고 MemberDao에서 끊기게 됩니다.

그 다음 어떤 활동이 벌어질지 시나리오를 작성하고(recoding) 실제 작업이 돌아갈 때 결과가 시나리오와 일치 하는지 확인(verify)합니다.

참고 :
Easymock Document
Easymock 시작하기
단위 테스트의 '단위'
단위 테스트의 경계 : 어디까지가 단위 테스트인가?