I’m migrating our tests from Junit4 to Junit5, one of which is a base test class that’s been inherited by 29 other classes with a constructor.
I changed it to use Junit5, the structure is like below:
public class BaseTest {
protected String field1;
protected Integer field2;
public BaseTest(String field1, Integer field2) {
this.field1 = field1;
this.field2 = field2;
}
}
public class ChildTest extends BaseTest {
public ChildTest(String field1) {
super(field1, null);
}
private static Stream<Arguments> data() {
return Stream.of(Arguments.of("string1"));
}
@ParameterizedTest
@MethodSource("data")
public void test1() {
assertNull(this.field2);
}
}
But now, it throws
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String arg0] in constructor [public junit5.ChildTest(java.lang.String)].
I saw the other answers which don’t really apply here, anyone could share any ideas please?
Thanks!
You need to sign in to view this answers