Maven 使用 JUnit 进行单元测试的详细步骤

1. 准备工作
在开始之前,请确保你的开发环境中已经安装了以下工具:
Java Development Kit (JDK)
Maven
IDE(如 IntelliJ IDEA 或 Eclipse)
2. 创建 Maven 项目
2.1 创建项目目录
在你的文件系统中创建一个新目录,例如mymavenproject。
2.2 创建pom.xml 文件

在mymavenproject 目录下创建一个名为pom.xml 的文件,这是 Maven 的项目对象模型文件,用于定义项目配置。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>mymavenproject</artifactId>
<version>1.0SNAPSHOT</version>
<dependencies>
<!添加 JUnit 依赖 >
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!添加编译插件 >
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>mavencompilerplugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.3 初始化项目
在命令行中,进入mymavenproject 目录,并运行以下命令来初始化项目:
mvn archetype:generate DgroupId=com.example DartifactId=mymavenproject DarchetypeArtifactId=mavenarchetypequickstart DinteractiveMode=false
3. 编写测试代码
3.1 创建测试类
在src/test/java/com/example/my/maven/project 目录下创建一个测试类,例如MyTestClass.java。
package com.example.my.maven.project;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class MyTestClass {
@Test
public void testAdd() {
assertEquals(5, 2 + 3, "2 + 3 should equal 5");
}
}
3.2 编写测试方法
在测试类中,编写一个测试方法testAdd,使用 JUnit 的断言方法assertEquals 来验证一个简单的算术运算。
4. 运行测试

4.1 编译项目
在命令行中,进入mymavenproject 目录,并运行以下命令来编译项目:
mvn clean compile
4.2 运行测试
运行以下命令来执行单元测试:
mvn test
Maven 将编译项目并执行所有@Test 注解的方法,如果测试通过,你将看到类似于以下输出的结果:
[INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] BUILD SUCCESS [INFO] [INFO] Total time: 2.976 s [INFO] Finished at: 20230401T15:20:1404:00 [INFO]
这样,你就成功地使用 Maven 和 JUnit 进行了单元测试。