웹사이트 검색

JUnit 설정 Maven - JUnit 4 및 JUnit 5


JUnit 4와 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 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>

J단위 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 명령을 실행하면 target/site/ 디렉토리에 HTML 보고서가 생성됩니다. Maven 프로젝트를 위한 JUnit 설정의 빠른 정리를 위한 전부입니다.