JUnit5의 @DisplayName

JUnit5 구성

  • JUnit Platform : JUnit Platform은 JVM에서 테스트 프레임워크를 실행하기 위한 기초적인 역할을 한다. 또한 테스트 개발을 위한 API를 제공한다.
  • JUnit Jupiter : JUnit5 테스트 및 Extension을 만들기 위한 새로운 프로그래밍 모델과 확장 모델의 조합 TestEngine을 제공한다.
  • JUnit Vintage : 하위 호환성을 위해 Junit4, Junit3을 실행할 수 TestEngine이다.

적용 방법

다음은 Gradle을 기준으로 작성되어 있다.

Spring boot 2.2.x 이상

testImplementation("org.springframework.boot:spring-boot-starter-test")
 
test {
    useJUnitPlatform()
}

Spring boot 2.2.x 이전

testImplementation("org.springframework.boot:spring-boot-starter-test") {
     exclude module : 'junit' 
}

testImplementation("org.junit.jupiter:junit-jupiter-api")
testCompile("org.junit.jupiter:junit-jupiter-params")
testRuntime("org.junit.jupiter:junit-jupiter-engine")

test {
     useJUnitPlatform() 
}

Junit5의 @DisplayName를 사용하면 아래와 같이 메소드명을 한글로 작성하는 것이 아니라,

@Test
public void 게시글저장() {
...

아래처럼 표기 할 수 있게 된다.

@Test
@DisplayName("게시글 저장")
public void savePost() {