Maven을 설정하여 JUnit 사용하기 – JUnit 4 및 JUnit 5

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 PlatformJUnit 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