JUnit은 전 세계 Java 개발자가 가장 많이 사용하는 테스트 프레임워크라고 한다.
그 중 JUnit 5는 가장 최근에 나온 프레임워크이다.
JUnit 5는 Java 8 버전 이상에서 사용가능하다.
JUnit 5는 JUnit 4와 다르게 모듈화가 되어있다.
테스트 프레임워크 기본을 담당하는 Platform과 확장기능을 제공하는 Jupiter,
이전 JUnit 4와 3의 호환성을 위한 Vintage가 합쳐진 프레임워크가 JUnit 5이다.
JUnit 5 이하 버전에서는 클래스와 메서드에 public, static을 써야 테스트가 가능했다.
그러나 JUnit 5 부터는 생략이 가능하다.
Spring boot 2.2 버전부터 프로젝트를 만들 때 JUnit 5가 탑제되어있다.
spring boot를 사용하지 않으면서 JUnit 5를 사용하고 싶다면
dependency를 pom.xml에 추가해주면 된다.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
@Test
테스트코드 정의.@BeforeAll / @AfterAll
모든 테스트코드가 실행되기 전(Before), 후(After)에 실행. @BeforeAll
static void beforeAll() {
System.out.println("before all");
}
@AfterAll
static void afterAll() {
System.out.println("after all");
}
@BeforeEach / @AfterEach
각각의 테스트코드가 실행되기 전(Before), 후(After)에 실행. @BeforeEach
void beforeEach() {
System.out.println("before Each");
}
@AfterEach
void afterEach() {
System.out.println("after Each");
}
@Disabled
해당 어노테이션이 있는 테스트코드는 실행안함.@DisplayNameGeneration
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
@DisplayName
@DisplayName("╯°□°)╯")
본 글는 백기선님의 더 자바, 애플리케이션을 테스트하는 다양한 방법을 수강하며 학습한 내용입니다.