Programming
Icafe 에 JUnit Test 적용방법
Peter Ryu
2012. 10. 15. 10:48
1. test 폴더 생성
프로젝트에서 오른쪽키를 눌러 New->Source Folder 를 차례대로 선택해 줍니다.
폴더명을 test (혹은 원하는 폴더명) 으로 만들어 줍니다.
2. junit 4.0 Lib 추가
프로젝트에 라이브러리를 추가하여야 합니다. 프로젝트에서 오른쪽키 클릭후 Properties 선택
빌드패스의 라이브러리를 추가합니다.
Add Library 를 선택해 줍니다.
JUnit을 선택후 Next를 눌러 줍니다.
Junit 4를 선택해 주고 Finish 를 눌러줍니다.
라이브러리에 JUnit 4 가 있으면 추가 완료 되었습니다.
3.테스트 소스코드 생성
테스트로 Icafe 내에있는 JSonArrayConverter 를 테스트 하겠습니다.
JSonArrayConverter파일을 열고 상위 메뉴 file 에서 new -> JUnit Test Case 를 선택합니다.
Source folder 를 아래와 같이 전에 만든 cstore/test 를 선택해 주고 finish 해 줍니다.
테스트파일이 생성되면 템플릿으로 제공되는 내용만 있습니다.
-------------------------------------------------------------
package net.ion.icafe.util;
import static org.junit.Assert.*;
import org.junit.Test;
public class JSONArrayConveterTest {
@Test
public void test() {
fail("Not yet implemented");
}
}
import static org.junit.Assert.*;
import org.junit.Test;
public class JSONArrayConveterTest {
@Test
public void test() {
fail("Not yet implemented");
}
}
---------------------------------------------------------------
다음과 같이 수정해 줍니다.
---------------------------------------------------------------
package net.ion.icafe.util;
import static org.junit.Assert.*;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
import org.junit.Test;
public class JSONArrayConveterTest {
@Test
public void jsonConverterTest() {
Map[] tmap = new Map[]{ new HashMap<String,String>()};
tmap[0].put("test", "test is good");
JSONArrayConveter jac = new JSONArrayConveter(tmap);
String json = jac.getToString();
StringBuffer sb = new StringBuffer ();
sb.append( "{\"list\":").append(json).append("}" );
JSONObject jsObj = JSONObject. fromString(sb.toString());
assertEquals("test is good", ((JSONObject) jsObj.getJSONArray("list" ).get(0)).getString("test"));
}
}
---------------------------------------------------------------
내용은 JSonArrayConverter에 데이터를 넣고 결과가 맞는지 확인해 보는 것 입니다.
ctrl+F11 로 실행하시거나 파일에서 오른쪽키 Run As -> JUnit Test 를 선택해서 실행합니다.
실행결과
녹색이 뜨면 테스트 성공, 빨간색은 테스트 실패입니다.
참 쉽죠?
자세한 내용은 김연아 사원의 TDD 개발 책 을 참고하시면 됩니다.
(왜 JUnit 를 사용하는가? 등등)