Steps to reproduce
Running the following test class fails with an
ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
@ParameterizedClass
@ValueSource(ints = 1)
class NotEnoughArgumentsForFieldsTestCase {
@Parameter(0)
int i;
@Parameter(1)
String s;
@Test
void test() {
fail("should not be called");
}
}
The error message should indicate that the failure comes from trying to inject an argument into the field annotated with @Parameter(1).
For comparison, when using constructor injection, the following exception is thrown (which is consistent with how missing arguments of @ParameterizedTest methods are handled):
ParameterResolutionException: No ParameterResolver registered for parameter [java.lang.String s] in constructor [NotEnoughArgumentsForConstructorTestCase(int,java.lang.String)
Context
- Used versions (Jupiter/Vintage/Platform): 5.14.x
- Build Tool/IDE: irrelevant
Deliverables
Steps to reproduce
Running the following test class fails with an
The error message should indicate that the failure comes from trying to inject an argument into the field annotated with
@Parameter(1).For comparison, when using constructor injection, the following exception is thrown (which is consistent with how missing arguments of
@ParameterizedTestmethods are handled):Context
Deliverables