棒棒哒!
贴上 issue 地址,https://github.com/junit-team/junit5/issues/2247
感谢大神的答疑解惑。
@Test @ParameterizedTest两个注解不能同时用, @ParameterizedTest 认为是一个容器,容器中存放 test。
共同使用会有冲突,或者被重复执行。
单独使用@ParameterizedTest 时,这个容器下会使用传递的参数自动创建 tests(个人理解),所以 是我的判读方法有问题,不能直接去用 testExecutionResult.getStatus().name() 去判断,因为可能拿到的是容器的执行结果 。
正确的判断是否为 testIdentifier.isTest(),会返回一个布尔值 ,确定是用例时,在去通过 testExecutionResult.getStatus().name() 取用例执行结果
大概就这是这样子
问题提交到开源,收到回复,如下:
@ParameterizedTest method is technically a "container" in JUnit 5, but the individual parameterized test method invocations below that container are "tests".
认为@ParameterizedTest是一个容器,而非一个 test 。
问题解决了么 ?