使用 ValueSource 添加 JUnit ParameterizedTest 后 IntelliJ 中出现意外的测试计数

问题描述 投票:0回答:1

我有一个 JUnit 测试,其中包括

@BeforeEach
@AfterEach
方法,最初设置为测试单个端点。它运行良好,IntelliJ 正确显示
Test Passed: 1 of 1 test

现在,我需要测试另一个端点。我通过添加以下注释将此测试转换为参数化测试:

@ParameterizedTest
@ValueSource(strings = {"/api1", "/api2"})

这两个值的测试均成功通过,但在 IntelliJ 的测试运行窗口中,它显示

Test Passed: 3 of 3 tests

有人可以帮我理解为什么它显示 3 个测试,而它应该只有 2 个吗?

谢谢!

unit-testing intellij-idea junit5 parameterized
1个回答
0
投票

凭记忆回答 - 如果您有证据表明我错了,请检查 Jupiter 代码:参数化测试的各个调用是整个参数化测试的子测试。因此它们被计为 1(测试本身)+ n(对于每组参数)。

© www.soinside.com 2019 - 2024. All rights reserved.