0

我有一个测试类,它由带有一些参数的 @Before 方法和其他测试方法组成。

@Before
@ParameterizedTest
@ValueSource(strings = {"123", "456"})
public void createData(String userId) {
someMethod(userId)
}


@ParameterizedTest
@ValueSource(strings = {"123", "456"})
public void abc(String userId) {}

但它一直先执行 abc() 并抛出错误

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String arg0] in method [public void tests.xxx.createData(java.lang.String) throws java.io.IOException].

我对 JUnit 参数很陌生。Before 方法可以同时是 ParametrizedTest 吗?如果没有此注释 [ParametrizedTests],它似乎无法按预期工作,但另一方面,我需要在所有其他方法之前执行它。可能是什么问题以及解决方案是什么?

4

0 回答 0