테스트 코드/JUnit
@BeforeClass, @AfterClass ,@Before,@After 순서 알아보기
Wings of Freedom
2021. 3. 30. 18:43
@BeforeClass, @AfterClass ,@Before,@After 순서 알아보기
Junit에
@BeforeClass, @AfterClass ,@Before,@After 어노테이션이 있습니다.
이전 이후..? 뭐지 어떻게 호출되는건지 알아보도록 하겠습니다.
Example
class BeforeAfterTest {
@Before
@Throws(Exception::class)
fun setUp() {
println("@Before")
}
@After
@Throws(Exception::class)
fun tearDown() {
println("@After")
}
@Test
@Throws(Exception::class)
fun testCase1() {
println("testCase1")
}
@Test
@Throws(Exception::class)
fun testCase2() {
println("testCase2")
}
companion object {
@BeforeClass
@JvmStatic
@Throws(Exception::class)
fun setUpBeforeClass() {
println("@BeforeClass")
}
@AfterClass
@JvmStatic
@Throws(Exception::class)
fun tearDownAfterClass() {
println("@AfterClass")
}
}
}
//result
@BeforeClass
@Before
testCase1
@After
@Before
testCase2
@After
@AfterClass
- @BeforeClass : 테스트 클래스 테스트 시작시 1번만호출
- @Before : 테스트 케이스 시작전 각각 호출
- @After : 테스트 케이스 완료시 각각 호출
- @AfterClass : 테스트 클래스 모든 테스트 완료시 1번 호출
Junit 5에서는 헷갈림 방지를 위해 아래와 같이 변경되었습니다.
@BeforeClass -> @BeforeAll
@Before -> @BeforeEach
@After -> @AfterEach
@AfterClass -> @AfterAll