我有一个 JUnit 测试,其中包括
@BeforeEach
和 @AfterEach
方法,最初设置为测试单个端点。它运行良好,IntelliJ 正确显示 Test Passed: 1 of 1 test
。
现在,我需要测试另一个端点。我通过添加以下注释将此测试转换为参数化测试:
@ParameterizedTest
@ValueSource(strings = {"/api1", "/api2"})
这两个值的测试均成功通过,但在 IntelliJ 的测试运行窗口中,它显示
Test Passed: 3 of 3 tests
。
有人可以帮我理解为什么它显示 3 个测试,而它应该只有 2 个吗?
谢谢!
凭记忆回答 - 如果您有证据表明我错了,请检查 Jupiter 代码:参数化测试的各个调用是整个参数化测试的子测试。因此它们被计为 1(测试本身)+ n(对于每组参数)。