http://blog.naver.com/galad/140035831352
JUnit
테스트 클래스 작성
JUnit Test 클래스는 junit.framework.TestCase 를 상속받고,
public void test*() 형태의 테스트 메소드를 작성한다.
JUnit 테스트의 골격
1. junit.framework.* 을 코드에 반영하기 위한 import 문
2. 테스트 클래스가 TestCase를 상속하는 extends 문(되도록 TestCase를 상속하는 다른 클래스를 만들고, 그 클래스로 다시 상속 받아 테스트 클래스를 만드는 것이 좋다)
3. super(string)을 호출해 주는 생성자
테스트 수행
* 텍스트 : junit.textui.TestRunner TestClass
* AWT : junit.awtui.TestRunner TestClass
* SWING : junit.swingui.TestRunner TestClass
테스트 수행 메소드 부르기
public static void main(String[] args) {
junit.swingui.TestRunner.run(AllTest.class);
}
Assertions
각 메소드는 맨 처음 인자로 문자열 설명을 가질 수 있다.
assertEquals(primitive expected, primitive actual);
assertEquals(Object exprected, Object actual);
assertSame(Object exptected, Object actual); // 두 객체가 같은가?
assertNotSame(Object exptected, Object actual);
assertNull(Object object); // 객체가 NULL인가?
assertNotNull(Object object);
assertTrue(boolean condition);
assertFalse(boolean condition);
fail(String str); : 무조건 실패
테스트 클래스의 값 초기화
테스트 클래스에 public void setUp() 메소드를 만들어주면 각 테스트 메소드가 실행되기 전에 먼저 setUp() 메소드가 실행된다.
테스트 클래스에 public void tearDown() 메소드를 만들어주면 각 테스트 메소드가 종료할 때마다 tearDown() 메소드가 실행된다.
suite()
테스트할 메소드를 명시적으로 지정하고 싶을 때 테스트 클래스에 public static Test suite() 메소드를 만든다.
public static Test suite() {
TestSuite = new TestSuite();
suite.addTest(new TestClass("testMethod1")); // 테스트할 메소드 이름
suite.addTest(new TestClass("testMethod2"));
return suite;
}
JUnit과 ANT
<junit printsummary="true" haltonfailure="no">
<classpath>
<pathelement path="${classes.dir}"/>
</classpath>
<test name="helloproject.junit1.DayCounterTest"/>
</junit>
haltonfailover="yes" 이면 테스트가 하나라도 실패하면 거기서 테스트를
중지해버린다.
여러 테스트를 수행하려면
<junit printsummary="true" haltonfailure="no">
<classpath>
<pathelement path="${classes.dir}"/>
</classpath>
<formatter type="xml"> <!-- 결과를 XML로 내보냄 -->
<batchtest todir="${test.dir}"> <!-- XML결과가 저장될 Directory -->
<fileset dir="${classes.dir}">
<include name="**/*Test*.class"/>
</fileset>
</batchset>
</junit>
테스트 결과 XML을 이용해 HTML로 결과 보고서 만들기 - Xalan 2 필요
<junitreport todir="${test.dir}">
<fileset dir="${test.dir}">
<include name="TEST**.xml"/>
</fileset>
<report format="frames" todir="${test.dir}/html"/>
</junitreport>
'프로그래밍 > Library' 카테고리의 다른 글
[펌] TDD와 JUnit을 이용한 테스팅 방법을 알아보고 효율적.. (0) | 2007.11.28 |
---|---|
[펌] JUnit을 이용한 효율적인 단위테스트 전략 (0) | 2007.11.28 |
[펌] eclipse short cuts (0) | 2007.11.28 |
[펌] eclipse 에서 run 실행시 jvm 에 대한 세팅은 어디서 하나요? (0) | 2007.11.28 |
Tomcat 다운현상 (0) | 2007.11.28 |