首页/开发/软件测试速查/JUnit 5 参数化测试
自动化测试66 条

JUnit 5 参数化测试

@ParameterizedTest 配合 @ValueSource、@CsvSource、@MethodSource 等数据源把同一逻辑跑多组输入;@CsvSource 适合表格化数据,@MethodSource 适合复杂对象。

软件测试速查开发更新于 2026-10-12

参数化示例

参数化示例
@ParameterizedTest
@CsvSource({
    "1, 2",
    "2, 4",
    "9, 18",
})
void doubleValue(int input, int expected) {
    assertEquals(expected, doubleIt(input));
}
每组数据在报告中独立计为一次执行,失败定位到具体一行数据。

易错点

  • 缺少 junit-jupiter-params 依赖,@ParameterizedTest 无法解析
  • 数据源方法名拼写错误或返回类型不符,报错信息隐晦难查

数据来源与参考

  • JUnit 5 User Guide:Parameterized Tests(junit.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌