일반 StrutsTest를 이용한 JUnit 테스트방법

황제낙엽 2006.02.23 16:55 조회 수 : 104 추천:74

sitelink1  
sitelink2  
extra_vars5  
extra_vars6  
http://blog.naver.com/jeong129?Redirect=Log&logNo=100015039953링크1 : 원본문서


StrutsTestCase를 사용하면 Struts 프레임워크 기반에서 JUnit을 이용한 테스트가 가능하다.
우선 이를 이용하기 위해서는 strutstest를 설치하여야 한다.
strutstest 2.0과 2.1.3이 있는데, 2.1.3으로 설치를 하면 struts1.2만 지원하는 것 같다. (struts1.1 환경에서 테스트 결과 실패)

[strutstest 설치]
1. strutstest 파일을 다운받는다.
( http://sourceforge.net/project/showfiles.php?group_id=39190 )
2. 압축을 풀고 strutstest-2.0.0.jar을 찾아내어, 임의의 폴더에 복사한다. 여기서는 'WEB-INF/lib' 폴더에 저장
3. 이클립스에서 테스트하고자 하는 프로젝트를 선택, 팝업 메뉴를 띄운 다음 [Properties]를 선택
4. 다이얼로그 좌측트리에서 [Java Build Path]를 선택하여 'juint.jar'와 'strutstest-2.0.0.jar'을 CLASSPATH에 등록시킨다.

[strutstest를 이용한 JUnit 테스트]
1. 테스트하고자 하는 소스에 'System.out.println()' 명령어를 이용하여 결과값을 알고자 하는 내용이 출력될 수 있도록 작성한다.
2. 테스트하고자 하는 파일을 선택, 팝업 메뉴를 띄운 다음 [New] -> [Other...] -> [JUnit Test Case]를 선택
3. 다이얼로그의 [Superclass] 항목 값을 'servletunit.struts.MockStrutsTestCase'로 입력.
    아랫단의 [setUp], [tearDown], [construtor]를 모두 체크하고 [Finish] 버튼 클릭
4. 생성된 템플릿에서 함수 하나를 작성한다.
    (public void test+[테스트하고자 하는 파일명], 예를 들어 파일명이 'JunitAction'인 경우
    'Public void testJunitAction() {}'으로 선언한다.'
5. 생성한 함수의 내용을 채워넣는다.

* 주로 사용하는 명령어는 다음과 같다.

setConfigFile("struts-config.xml의 물리적인 위치");
(struts-config.xml의 위치를 지정한다.)

setRequestPathInfo("action path 값");
(action path 값을 정의한다.)

addRequestParameter("변수명", "입력값");
(request 방식으로 '[변수명]=[입력값]'의 값이 전달된 상황을 만든다.)

actionPerform();
(실제 작업을 수행한다.)

verifyForward("success");


6. 생성된 파일을 선택, 팝업메뉴를 띄운 다음 [Run] -> [JUnit Test]를 선택한다.

7. 1번에서 작성한 ''System.out.println()' 명령어에서 출력하고자 하는 값이 우측 하단 [Console] 뷰에서 출력된다.