Spring으로 프로젝트를 진행하다보면 단위 코드를 테스트 해야할 일이 생긴다.
이때 대부분 JUnit 기반의 테스트를 작성하게 된다.
실제 JUnit을 이용해 테스트하는 방법은 아래의 링크를 참고하면 좋을듯하다.
https://devkingdom.tistory.com/114
다만 작성한 글에는 @Test로만 테스트 코드를 작성했는데, 실제로 테스트가 실행될 때 우리는 이 생명주기가 어떻게되는지를 정확하게 알 필요가 있다.
JUnit 5에서는 네가지 Test LifeCycle 어노테이션을 제공한다.
Test LifeCycle은 아래와 같은 실행 순서를 가진다.
@BeforeAll
JUnit4의 @BeforeClass 를 대신하여 사용하는 어노테이션이다.
모든 테스트가 실행되기 전에 @BeforeAll이 명시된 메서드가 실행된다.
테스트가 실행되기전에 한번만 실행이 되며, 반드시 static 메서드 여야한다.
@BeforeEach
JUnit4의 @Before를 대신하여 사용하는 어노테이션이다.
해당 어노테이션이 있는 메서드는 @Test 어노테이션이 있는 테스트 메서드 이전에 실행된다.
해당 메서드는 static이 될수 없다.
@AfterAll
JUnit4의 @AfterClass를 대신하여 사용하는 어노테이션이다.
모든 테스트가 종료 된 후에 @AfterAll 이 명시된 메서드가 실행된다.
테스트가 종료 된 후에 한번만 실행되고, 반드시 static 메서드 여야한다.
@AfterEach
JUnit4의 @After를 대신하여 사용하는 어노테이션이다.
해당 어노테이션이 있는 메서드는 @Test 어노테이션이 있는 테스트 메서드 실행 이후에 실행된다.
해당 메서드는 static이 될 수 없다.
'Develop > Spring' 카테고리의 다른 글
Spring Bean Scope (0) | 2021.11.02 |
---|---|
Spring Bean LifeCycle (0) | 2021.11.02 |
[Spring] @Transactional 정리 (0) | 2021.10.07 |
[Spring Cloud MSA] Eureka Server에서 랜덤 port 로 서비스 여러 서비스 띄우기 (0) | 2021.09.17 |
[Spring Cloud MSA] Eureka Client Service 만들어 Eureka Server 에 올리기 (0) | 2021.09.13 |
댓글