본문 바로가기
Develop/Spring

[Spring] JUnit5 생명 주기 정리

by 코딩의성지 2021. 10. 8.

Spring으로 프로젝트를 진행하다보면 단위 코드를 테스트 해야할 일이 생긴다.

이때 대부분 JUnit 기반의 테스트를 작성하게 된다.

 

실제 JUnit을 이용해 테스트하는 방법은 아래의 링크를 참고하면 좋을듯하다.

https://devkingdom.tistory.com/114

 

[Spring] JUnit을 활용한 스프링 메서드 모듈 테스트하기

하이 ...!! 여러분 !! 스프링은 TDD (Test Driven Development) 기반의 개발을 할 수 있도록 스프링 프로젝트를 만들때 알아서 테스트 환경을 세팅해준다. 우리는 거기다 코드를 작성해서 테스트를 하면된

devkingdom.tistory.com

 

다만 작성한 글에는 @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이 될 수 없다.

 

 

 

반응형

댓글