Search code examples
java-8junit5parameterized-unit-test

Exception on running parameterized test with junit5


I am getting Junit Vintage initialize error when trying to integrate parameterized test with spring boot app. Any pointers on resolving this issue?

enter image description here

  @ParameterizedTest(name="Run {index}: loanAmount={0}, downPayment={1}, availableFunds={2}, expectApproved={3}, expectedMessage={4}")
    @MethodSource("testRequestLoan_Parameters")
    public void testRequestLoan(float loanAmount, float downPayment, float availableFunds,
                                boolean expectApproved, String expectedMessage) throws Throwable
    {
    }

    static Stream<Arguments> testRequestLoan_Parameters() throws Throwable {
        return Stream.of(
                Arguments.of(1000.0f, 200.0f, 250.0f,  true, null),
                Arguments.of(1000.0f,  50.0f, 250.0f, false, "error.insufficient.down.payment"),
                Arguments.of(1000.0f, 200.0f, 150.0f, false, "error.insufficient.funds.for.down.payment")
        );
    }

Dependencies

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>5.3.2</version>
            <scope>test</scope>
        </dependency>

Solution

  • I resolved the issue, by annotatating the class with

    @ExtendWith(SpringExtension.class)