搭建你的 JUnit 5 测试战场
说实话,配置环境这事儿看着简单,但翻车的人真不少。我记得刚带团队时,有个同事配了一天都没跑起来——最后发现是依赖里混了 Junit 4 的老包。所以咱们这一章,就把 Maven、Gradle 和 IDE 集成一次讲透。
选用 Maven 还是 Gradle?
我个人习惯用 Maven,但如果你在用 Gradle,也别慌。两者的核心思路一样:把 JUnit 5 的 junit-jupiter 依赖加进去就行。这个依赖会自动把引擎、API 和参数化测试的支持都带进来。
Maven 配置:pom.xml
先看 Maven。在 pom.xml 里加上这段:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
小提示:版本号最好去 Maven Central 查最新稳定版。我用 5.10.0 是因为它长期支持,坑少。maven-surefire-plugin 要配 3.x,不然跑不了 JUnit 5 的测试。
Gradle 配置:build.gradle
如果用 Gradle,配置更简洁:
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0'
}
tasks.named('test') {
useJUnitPlatform()
}
嗯,这里要注意:必须加上 useJUnitPlatform(),否则 Gradle 不会识别 JUnit 5 的测试类。我在项目里见过有人漏了这个,一个测试都跑不了,还以为是 IDE 坏了。
IDE 集成:两步搞定
不管用 IntelliJ IDEA 还是 Eclipse,现代 IDE 都内置了 JUnit 5 支持。你只需要:
- 导入项目:如果是 Maven 项目,直接 Open 或 Import;Gradle 项目选 Gradle 方式导入。IDE 会自动下载依赖。
- 检查运行配置:创建一个测试类,右键选择 Run,默认就能用 JUnit 5 跑。
避坑指南:我曾经在 Eclipse 里遇到“找不到 JUnit 5 测试”的情况——后来发现是老项目里混了 Spring Boot 自动配置的
junit-vintage-engine。解决方法是在 dependency 里显式排除老版本,或者在运行配置里强制用 junit-jupiter-engine。
验证环境:写个 Hello Test
配置完别急,先写个极简测试确认一切正常:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class SimpleTest {
@Test
void shouldPass() {
assertEquals(2, 1 + 1);
}
}
运行后如果看到绿条,说明环境搭好了。为什么我强调这个?之前有个同事跳过验证直接写复杂测试,结果跑不出来,排查半天才发现是依赖版本不匹配。
本章知识体系
下面这张图帮你理清整个搭建流程:
总结一下要点:
- Maven 用
- Gradle 加
- IDE 直接导入项目即可,无需额外插件
- 验证用最简单的
- Maven 用
junit-jupiter 依赖 + maven-surefire-plugin 3.x- Gradle 加
testImplementation + useJUnitPlatform()- IDE 直接导入项目即可,无需额外插件
- 验证用最简单的
assertEquals 跑一次绿条
环境搭好了,下一步咱们就能放心玩参数化测试了。记住一句话:基础打牢,踩坑才少。你按这个流程来,半小时内肯定跑起来。