안녕하세요. 이번 포스팅에서는 JUnit5에서 제공하는 기본적인 어노테이션에 대해 알아보겠습니다.
알아볼 어노테이션은 아래와 같습니다.
@DisplayNameGeneration
@DisplayName
@BeforeAll
@BeforeEach
@AfterAll
@AfterEach
예제 코드로 바로 확인해보겠습니다.
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) // 테스트명 언더스코어를 공백으로 보기 쉽게 보여줌
class StudyTest {
/**
* Junit4까지는 public class에 public void만 테스트 코드가 실행가능 했다.
* 하지만 Junit5부터는 자바 리플랙션 기술로 접근 제어자를 붙이지 않아도 실행가능하다.
*/
@Test
@DisplayName("테스트이름은 이렇게 지정할 수도 있습니다.")
void create1() {
System.out.println("create1");
}
/**
* 모든 테스트를 실행하기 전에 반드시 딱 한 번만 실행함
* private 불가능, default 가능
* static 키워드만 사용 가능, return은 void만 가능
*/
@BeforeAll
static void beforeAll() {
System.out.println("before all");
}
/**
* 모든 테스트를 실행한 후에 반드시 딱 한 번만 실행함
*/
@AfterAll
static void afterAll() {
System.out.println("after all");
}
/**
* 각각의 테스트를 호출하기 전에 호출됨
* 굳이 static 키워드일 필요없음
*/
@BeforeEach
void beforeEach() {
System.out.println("before each");
}
/**
* 각각의 테스트를 호출한 후 호출됨
* 굳이 static 키워드일 필요없음
*/
@AfterEach
void afterEach() {
System.out.println("after each");
}
}
create1() 테스트 메서드를 실행하면 콘솔에는 아래의 결과가 출력된다.

참고
백기선님의 더 자바, 애플리케이션을 테스트하는 다양한 방법을 듣고 정리한 내용입니다.