ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JUNIT4]기본 annotation 명령어
    JAVA/JUNIT 2013. 11. 12. 17:07

    추후 개발을 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 {
    }
    
Designed by Tistory.