Java中用JUnit 5写第一个单元测试需三步:引入junit-jupiter依赖、编写被测类(如StringUtils)、编写带@Test注解的测试类(如StringUtilsTest),无需继承或命名规范,支持包私有方法和可读方法名。

在 Java 中用 JUnit 5 写第一个单元测试,核心是三步:引入依赖、写被测类、写测试类并用 @Test 标记方法。不需要继承任何类,也不需要方法名以 test 开头,比 JUnit 4 更简洁直观。
添加 JUnit 5 依赖(Maven)
JUnit 5 由三个模块组成,日常测试只需 junit-jupiter(包含 API 和运行器):
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
确保你的构建工具支持 Java 8+,且 IDE(如 IntelliJ 或 VS Code)已启用 JUnit 5 测试运行器。
编写一个简单被测类
比如一个计算字符串长度的工具类:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
public class StringUtils {
public static int length(String s) {
return s == null ? 0 : s.length();
}
}
编写对应的 JUnit 5 测试类
测试类和方法无需特殊声明,但推荐放在 src/test/java 下,类名通常以 Test 结尾:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class StringUtilsTest {
@Test
void length_returnsZeroForNull() {
assertEquals(0, StringUtils.length(null));
}
@Test
void length_returnsCorrectValueForNonNullString() {
assertEquals(5, StringUtils.length("hello"));
assertEquals(0, StringUtils.length(""));
}
}
-
@Test是唯一必需的注解,标记该方法为测试方法 -
assertEquals等断言方法来自org.junit.jupiter.api.Assertions - 测试方法可以是
public,也可以是包私有(默认访问权限),JUnit 5 不强制要求public - 方法名可读性强即可,比如
length_returnsZeroForNull,便于理解用例意图
运行测试
在 IDE 中右键测试类或方法 → “Run ‘xxxTest’”,或使用 Maven 命令:
mvn test
成功时会看到绿色结果;若断言失败(例如把 assertEquals(5, ...) 写成 assertEquals(6, ...)),会明确提示“expected: <6> but was: <5>”。

















