본문 바로가기
Android/Test

@BeforeClass, @AfterClass ,@Before,@After 순서 알아보기

by 봄석 2019. 11. 1.

@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

 

'Android > Test' 카테고리의 다른 글

Kotest 알아보기  (327) 2021.09.27
JUnit 테스트 순서 제어하기  (0) 2019.11.01
JUnit Test Rule 알아보기  (0) 2019.11.01
Mockito-Kotlin Sample로 자세히 알아보기  (0) 2019.10.28
Mockito-Kotlin 알아보기  (0) 2019.10.28

댓글