`Junit 5`의 5가지 Annotation 간단 설명

2024. 3. 13. 18:35JAVA & Kotiln/TDD

 

@Test 

- 테스트 메소드를 지정한다. 테스트 메소드를 실행하는 과정에서 오류가 없으면 Success 표시.

- main 메소드를 따로 만들지 않아도 IDE에서 실행을 편리하게 해준다.

 

@BeforeEach 

- 각 테스트 메소드가 수행되기 전에 실행되는 메소드를 지정한다.

 

@AfterEach

- 각 테스트가 수행된 후에 실행되는 메소드를 지정한다.

 

@BeforeAll

- 모든 테스트를 수행하기 전에 최초 1회 수행되는 메소드를 지정한다.

 

@AfterAll

- 모든 테스트를 수행한 후 최후 1회 수행되는 메소드를 지정한다.

Annotation의 순서도

아래는 Kotlin으로 작성한 간단한 테스트 코드이다. ( + 하단에 결과 메세지)

class JunitTest {
    companion object {
        @BeforeAll
        @JvmStatic
        fun beforeAll() {
            println("Run beforeAll() - 모든 테스트 시작 전")
        }
        @AfterAll
        @JvmStatic
        fun afterAll() {
            println("Run afterAll() - 모든 테스트 종료 후")
        }
    }
    @BeforeEach
    fun beforeEach() {
        println("Run beforeEach() - 각 테스트 시작 전")
    }
    @AfterEach
    fun afterEach() {
        println("Run afterEach() - 각 테스트 종료 후")
    }
    @Test
    fun test1() {
        println("test1")
    }
    @Test
    fun test2() {
        println("test2")
    }
}

 

# 실행결과 console

> Task :compileKotlin UP-TO-DATE
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :processTestResources NO-SOURCE
> Task :compileTestKotlin
> Task :compileTestJava UP-TO-DATE
> Task :testClasses UP-TO-DATE
> Task :test
Run beforeAll() - 모든 테스트 시작 전
Run beforeEach() - 각 테스트 시작 전
test1
Run afterEach() - 각 테스트 종료 후
Run beforeEach() - 각 테스트 시작 전
test2
Run afterEach() - 각 테스트 종료 후
Run afterAll() - 모든 테스트 종료 후
BUILD SUCCESSFUL in 1s
6 actionable tasks: 2 executed, 4 up-to-date
오후 6:51:42: Execution finished ':test --tests "com.group.JunitTest"'.

'JAVA & Kotiln > TDD' 카테고리의 다른 글

intelij에서 @Test에 @DisplayName 사용 시 한글 깨짐  (0) 2024.03.14