@test方法必须是public void无参非静态方法,且需正确导入junit 5依赖和注解,否则报错或被忽略。

在 Java 中,@Test 注解用于标记一个方法为单元测试方法,但必须满足几个关键约束,否则运行时会报错或被框架忽略。
方法签名必须是 public void 且无参数
被 @Test 标记的方法必须满足以下三点:
- 访问修饰符为 public(不能是 private、protected 或包私有)
- 返回类型为 void(不能是 int、String、boolean 等任意其他类型)
- 方法参数列表为空(不能有任何形参)
例如合法写法:
public void testAdd() { ... }以下写法均非法:
private void testAdd() {...} // 报错:should be publicpublic int testAdd() {...} // 报错:should be void
public void testAdd(int a) {...} // 报错:should be void
不能是静态方法
JUnit 5(当前主流版本)要求 @Test 方法必须是非静态的。因为框架会在每次执行测试前创建测试类的新实例,再调用该实例的方法。
如果加了 static:
public static void testAdd() { ... } // 运行时报错:Method testAdd() should be void(实际因反射调用失败而中断)
内部类中的方法也不支持 @Test,即使满足签名要求——因为 JUnit 无法正确实例化非静态内部类。
需要正确导入和依赖
确保项目中已引入 JUnit 5 的依赖(如 Maven):
并在测试类顶部导入注解:
import org.junit.jupiter.api.Test;注意不要误用旧版 JUnit 4 的 org.junit.Test,两者包路径不同、行为也有差异。
IDE 中快速添加与运行
在 IntelliJ IDEA 中,将光标放在目标方法名上,按 Alt + Enter,选择 “Add ‘@Test’ annotation” 即可自动插入注解并补全 import;左侧会出现绿色小箭头,点击即可单独运行该测试方法。
成功运行显示绿色条,失败则为红色,并附带堆栈或断言失败信息。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











