Back-End (web)

[JUnit5] @TestInstance

햄과함께 2019. 12. 4. 23:41
320x100

TestInstance 는 테스트 인스턴스의 라이프 사이클을 설정할 때 사용한다.

- PER_METHOD : test 함수 당 인스턴스가 생성된다.

- PER_CLASS : test 클래스 당 인스턴스가 생성된다.

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class Test() {

    @BeforeAll
    fun setUp(){
    	println("setUp")
    }

    @AfterAll
    fun clean(){
    	println("clean")
    }

    @Test
    fun test() {
    
    }
}

위와 같이  @TestInstance(TestInstance.Lifecycle.PER_CLASS)  어노테이션으로 라이프 사이클을 클래스 단위로 설정할 수 있다.

라이프 사이클을 클래스 단위로 지정해 놓으면 @BeforeAll, @AfterAll 어노테이션을 static method가 아닌 곳에서도 사용할 수 있다.

따라서 static method가 없는 kotlin에서도 위와 같이 일반 함수에 @BeforeAll, @AfterAll 어노테이션을 사용할 수 있다.


참고 : https://junit.org/junit5/docs/5.0.1/api/org/junit/jupiter/api/TestInstance

320x100