반응형

Junit4에서 흔히 많이 쓰는 어노테이션을 정리하겠습니다.

@Before @After @BeforeClass @AfterClass

 

우선 어노테이션은 쉽게 

 

 

진행 순서는 아래와 같습니다.

 

어노테이션 종류들

@Before

각각의 테스트 메서드가 실행하기 전 실행함.  (10개의 테스트가 있다면 10번 불림),  (Junit5에선 @BeforeEach로 바뀜)

활용 예시)

- 셋업 코드들.

- 각 테스트 메서드가 공유해야 하는, 공유자원(변수/객체)을 디폴트 값으로 초기화 코드들.

- 데이터베이스 커넥션 하는 코드들.

 

@BeforeClass

전체 테스트에서 한번만 실행됨.  (Junit5에선 @BeforeAll로 바뀜)

@Before전에 딱 한번만 불림.

즉, 테스트 전용 클래스 당 무조건 한번만 불림.

활용 예시)

- 오직 해당 테스트 메서드를 위한 클래스의 변수 할당코드들

- 객체 다시 초기화 (해당 테스트 메서드에 맞게)

 

@After

각각의 테스트 메서드가 실행 후 실행함.  (Junit5에선 @AfterEach로 바뀜)

활용 예시)

- 데이터베이스 수정을 롤백하는 코드들.

- 공유 자원을 초기화하는 코드들.   (공유자원 Array clear() 등)

 

@AfterClass

현재 클래스에 있는 모든 테스트 메서드가 끝난 후 실행함.  (Junit5에선 @AfterAll로 바뀜.)

활용 예시)

- 데이터베이스 커넥션 클린업 코드들

 

 

인용/참고자료

https://stackoverflow.com/questions/20295578/difference-between-before-beforeclass-beforeeach-and-beforeall

 

공식자료들 (DOCC)

Junit4

https://junit.org/junit4/javadoc/latest/index.html

반응형