jdk는 어노테이션을 지원하는 jdk5이상..
junit4 ...
본래 junit을 사용한 테스트 클래스 작성은 TestCase를 상속 받고
각각의 테스트 메서드에는 Test가 들어가야 하지만..
아래의 테스트 케이스 클래스를 보면 그런부분이 없다. 그 비밀은 바로..
어노테이션!!!
package test;
import org.junit.Assert;
import org.junit.Test;
public class SomeClassTest { //TestCase를 extends 하지 않아도..
@Test
public void normalT() { //메서드가 test라는 이름으로 되어있지 않아도..
Assert.assertEquals("홍길동만만세", SomeClass.someMethod("홍길동", "만만세"));
}
@Test(expected = IllegalArgumentException.class)
//이 메서드에서는 SomeClass.someMethod에서 Exception이 날아오게 되는데
//어노테이션으로 expected를 해주고 있기 때문에 Exception이 날아오면 테스트 통과!
//그러나 저 exception이 아니면 당긍 failure가 나오겠지..
public void exceptionArg1T() {
Assert.assertEquals("짠..", SomeClass.someMethod(null, "만만세"));
}
@Test(expected = IllegalArgumentException.class)
public void exceptionArg2T() {
Assert.assertEquals("짠..", SomeClass.someMethod("홍길동", null));
}
}
package test;
public class SomeClass {
public static String someMethod(String msg1, String msg2)
throws IllegalArgumentException {
if (msg1 == null || msg2 == null) {
throw new IllegalArgumentException("null");
}
return msg1 + msg2;
}
}
어노테이션을 사용하여 간단하게 Junit을 이용한 테스트 케이스 클래스를 작성 할 수 있습니다.
출처 : 김풍주대리님^^