JVM
에서 테스트 프레임워크를 시작하기 위한 기반 역할을 합니다.Java 8(또는 그 이상)
이 필요합니다. 그러나 이전 버전의 JDK로 컴파일된 코드를 계속 테스트할 수 있습니다.기본 단위인 모듈(Module)
을 테스트하는 것이다. 완료한 후
명세서의 내용대로 정확히 구현되었는지를 테스트하는 것이다.TDD 방식
Annotations | Description |
---|---|
@Test | - @Test가 선언된 메소드는 테스트를 수행하는 메소드가 된다. - 각각의 테스트가 서로 영향주지 않고 독립적으로 실행되는 것을 원칙으로 합니다. |
@Disabled | - @Disabled 선언된 메소드는 테스트를 실행하지 않게 합니다. ( 전체 class 테스트 일 시 ) |
@BeforeEach | - @BeforeEach 선언된 메소드를 @Test 메소드가 실행될 때마다 그 전에 반드시 실행되어 집니다. - @Test 메소드 실행전 공통으로 사용되는 코드를 선업합니다. |
@AfterEach | - @AfterEach 선언된 메소드를 @Test 메소드가 실행될 때마다 그 후에 반드시 실행되어 집니다. - 테스트 시 사용한 자원을 해제할 때 주로 사용합니다. |
@BeforeAll | - @BeforeAll @Test 메소드 보다 먼저 한번만 수행되어야 할 경우에 사용합니다. (static) |
@AfterAll | - @AfterAll @Test 메소드 수행 후 한번만 수행되어야 할 경우에 사용합니다. (static) |
test {
useJUnitPlatform()
}
import org.junit.jupiter.api.*;
class VelogTest {
@BeforeAll
static void BeforeAll(){
System.out.println( "BeforeAll method" );
}
@AfterAll
static void AfterAll(){
System.out.println( "AfterAll method" );
}
@BeforeEach
public void BeforeEach(){
System.out.println( "BeforeEach method" );
}
@AfterEach
public void AfterEach(){
System.out.println( "AfterEach method" );
}
@Test
public void Test0(){
System.out.println( "Test0 method" );
}
@Test
public void Test1(){
System.out.println( "Test1 method" );
}
@Test
public void Test2(){
System.out.println( "Test2 method" );
}
}
위 설명대로 테스트 순서가 이루어 지는것을 확인할 수 있다.
📌 여담
📚 참고