Spring MVC Controller 를 JUnit으로 Test 하기
Posted 2010. 5. 27. 19:19annotation을 이용한 jUnitTest를 하려면 이것저것 신경쓸게 많다.
하지만 EasyMock을 사용하면 그 신경쓸꺼리를 많이 덜게 해준다.
특히 Controller 같은 경우 request, response등의 Mockup 객체가 있어야 하기에 더더욱 그렇다.
세팅방법은 간단하다. EasyMock의 클래스/메소드 사용법만 익히면 된다.
1. 관련 jar 파일을 임포트한다.
처음 easymock-3.0.jar(현재 최신판)만 import 하니 관련 클래스가 없다는 다음의 메시지가 뜬다.
java.lang.NoClassDefFoundError: org/objenesis/ObjenesisHelper --- 이하 생략 ---- |
그래서 찾아보니 jar 파일이 하나 더 필요하단다. 이 jar를 추가하니 에러가 없어졌다.
2. Test하려는 Controller class 옆에 ~ControllerTest라는 아무이름으로 클래스 하나 생성한다.
3. @Before, @Test 어노테이션을 붙인 메소드를 만든다.
public class RequestMappingTest { private MockHttpServletRequest request; private MockHttpServletResponse response; private MyController controller; private AnnotationMethodHandlerAdapter adapter; @Before public void setUp() { controller = EasyMock.createNiceMock(MyController.class); adapter = new AnnotationMethodHandlerAdapter(); request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); } @Test public void testname() throws Exception { request.setRequestURI("/users"); controller.foo(response); EasyMock.expectLastCall().once(); EasyMock.replay(controller); adapter.handle(request, response, controller); EasyMock.verify(controller); } } 소스출처 : http://www.olivergierke.de/wordpress/2009/05/unit-testing-annotation-based-spring-mvc-controllers/ |
4. EasyMock 클래스의 메소드가 각각 어떻게 사용되는지만 익히면 된다.
'개발노트 > Spring' 카테고리의 다른 글
[링크]Spring 3.0 Overview 번역문 (0) | 2010.06.09 |
---|---|
[펌]DispatcherServlet의 디폴트 대체(fallback) 전략? (0) | 2010.06.01 |
Spring MVC 따라하기 Step1. (0) | 2010.04.29 |
예제 싸이트 (0) | 2010.04.27 |
POI - Excel 변환용 API (0) | 2010.04.07 |
- Filed under : 개발노트/Spring