JAVA/JUNIT

[JUNIT4]기본 annotation 명령어

lahuman 2013. 11. 12. 17:07
728x90

추후 개발을 TDD (TEST Driven development) 방법론을 사용 하기 위해 필요한 JUNIT Framework 사용 법을 정리 한다.


1. @Test

가장 기본이 되는 Annotation으로, 특정 Method 에 선언 하여 Test 하도록 한다.

        @Test
	public void filePath(){
		File file = new File("C:\\Temp\\a_dreamy_world_2nd_for_mac_by_grafixeye.jpg");
		
		Path path = Paths.get("C:\\Temp\\a_dreamy_world_2nd_for_mac_by_grafixeye.jpg");
		
		Assert.assertEquals(file.getPath(), path.toAbsolutePath().toString());
	}


2. @BeforeClass, @AfterClass

Class 가 최초 시작 될때와 종료 될때 호출되는 Method 이다 단! static Mehod 이어야 한다.

@BeforeClass
	public static void setupClass(){
		System.out.println("setupClass");
	}
	
	@AfterClass
	public static void finishClass(){
		System.out.println("finishClass");
	}


3. @Before, @After

각 @Test Method 들이 실행 되기 전과 후에 호출 된다. static Method가 아니어도 된다.

	@Before
	public void setup(){
		System.out.println("setup");
	}
	
	@After
	public void finish(){
		System.out.println("finish");
	}


4. 예외처리

@Test(exception=Exception.class) 로 작성 하고 예상 결과로 예외를 받도록 한다.

       @Test(expected=NullPointerException.class)
	public void callNullpoint(){
		File file = null;
		
		file.getAbsoluteFile();
	}


5. @Ignore

@Ignore("MESSAGE") 로 작성하고 @Test 상위에 선언 한다. 테스트를 동작하지 않도록 한다.

	@Ignore("This method isn't work.")
	@Test
	public void ignoreMethod(){
		System.out.println("Ignore");
	}


6. timeout

@Test(timeout=1000) 로 작성 하고 제한 시간 안에 Method가 종료 되는 확인 한다. millisecond 기준 으로 동작 한다.

       @Test(timeout=3000)
	public void timeoutTest() throws InterruptedException{
		Thread.sleep(3000);
		System.out.println("OK?");
	}


7. Suite

@@RunWith(Suite.class)@SuiteClasses(FilePath.class, ....) 여러개의 JUnit을 실행 할수 있다.

@RunWith(Suite.class)
@SuiteClasses(FilePath.class)
public class AllTest {

}


8. JUnit method 실행 순서

@FixMethodOrder(MethodSorters.NAME_ASCENDING) 로 선언 하고, 종류는 NAME_ASCENDING, JVM, DEFAULT 게 사용 가능하다.

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class FilePath {
}
728x90