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