JUnit 4와 JUnit 5는 완전히 다른 프레임워크입니다. 둘 다 동일한 목적을 제공하지만, JUnit 5는 처음부터 작성된 완전히 다른 테스트 프레임워크입니다. JUnit 5는 JUnit 4 API에서 아무 것도 사용하지 않습니다. 여기에서는 Maven 프로젝트에 JUnit 4와 JUnit 5를 설정하는 방법을 살펴보겠습니다.
JUnit Maven 의존성
JUnit 4를 사용하려면 다음과 같이 하나의 종속성이 필요합니다.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
JUnit 5는 여러 모듈로 나뉘어져 있으며, 적어도 JUnit Platform 및 JUnit Jupiter이 필요합니다. 또한, JUnit 5는 Java 8 이상의 버전이 필요합니다.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
매개변수화된 테스트를 실행하려면 추가 종속성을 추가해야 합니다.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
Maven 빌드 중 JUnit 테스트
Maven 빌드 중에 테스트를 실행하려면 pom.xml 파일에서 maven-surefire-plugin
플러그인을 구성해야 합니다. JUnit 4:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
JUnit 5:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>src/test/java/</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
JUnit HTML 보고서
Maven surefire 플러그인은 텍스트 및 XML 보고서를 생성하며, maven-surefire-report-plugin
을 사용하여 HTML 기반 보고서를 생성할 수 있습니다. 아래 구성은 JUnit 4 및 JUnit 5 모두에 대해 작동합니다.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</reporting>
mvn site
명령을 실행하면 HTML 보고서가 target/site/
디렉토리에 생성됩니다. 이것으로 Maven 프로젝트를 위한 JUnit 설정에 대한 빠른 개요를 마칩니다.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven