我定义了自己的 JUnit 注释:
@ParameterizedTest
@MethodSource("myorg.qa.ccrtesting.DataProviders#standardDataProvider")
@Tags({@Tag("ccr"), @Tag("standard")})
public @interface CcrStandardTest {
}
然后,我能够在我的测试中使用该注释:
@CcrStandardTest
public void E0010_contact_standard (String testData) {
...
- 我的运行配置:
JVM 选项:-ea
类:myorg.qa.ccrtesting.ccrstandardtests.CcrStanConTest
- 这是 IDE 建议的(并已验证指向正确的类,该类包含我的原型测试方法)
但是,这会导致:jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String arg0] in method [public void...
我尝试
String testData
从测试方法签名中删除,但 JUnit 没有执行任何测试:No tests found
当我在
@Test
原型测试方法上方添加时,它会执行,但是:- 似乎没有
@CcrStandardTest
应用我在下面定义的任何注释 - IDE 建议
suspicious combination @Test and parameterized source
(我已经知道@ParameterizedTest
暗示@Test
,只是不确定为什么 IDE 能够找到自定义注释但 JUnit 不是?)
- 似乎没有