OiO.lk Blog java org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [int arg0] in constructor
java

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [int arg0] in constructor


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

Exit mobile version