JUnit5 개요

JUnit 5 개요

Spring Boot 2.2 이후로 JUnit5를 기본 제공하고 있다. JUnit5를 쓰면 따로 설정 없이 starter-test에 포함된다.

  • Java 버전
    • JUnit4는 1.4 이상
    • JUnit5는 1.8 이상

JUnit5 구성

JUnit4의 구성은 All in One이었지만, JUnit5의 구성은 세부화(Platform + Jupiter + Vintage) 되었다.

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

적용 방법

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

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() 
}