-
Notifications
You must be signed in to change notification settings - Fork 162
Open
Description
When using JUnit 5’s @ParameterizedClass, tests are executed but the Java Unit Test extension in VS Code always reports them as "No Result", regardless of whether they pass or fail.
The same tests report results correctly when run via Gradle or in other IDEs.
Environment
VS Code version: 1.107.1
Java Unit Test extension version: 0.43.2
Java version: 21
Build tool: Gradle
JUnit version: 5.14.1
OS: Windows
Reproduction Steps
- Create a JUnit 5 test using
@ParameterizedClass - Open the project in VS Code
- Run the test using the Test Explorer or inline Run Test action
Minimal Reproducible Example
@Nested
@ParameterizedClass
@ValueSource(strings = { " hello ", "\tWorld\n", "JUnit " })
class GivenUntrimmedString {
@Parameter
String input;
@Nested
class WhenNormalizing {
String normalized;
@BeforeEach
void act() {
normalized = input.trim().toLowerCase();
}
@Test
void thenLeadingWhitespaceIsRemoved() {
assertFalse(normalized.startsWith(" "));
}
@Test
void thenTrailingWhitespaceIsRemoved() {
assertFalse(normalized.endsWith(" "));
}
@Test
void thenStringIsLowercased() {
assertEquals(normalized, normalized.toLowerCase());
}
}
}Expected Behavior
- Tests are executed once per parameter value
- Each execution reports a pass or fail
- Test Explorer shows the correct result status
Actual Behavior
- Tests are executed (side effects and logs confirm execution)
- Test Explorer shows "No Result" for the tests
- Status does not change even if assertions fail
Additional Notes
- This behavior appears specific to
@ParameterizedClass @ParameterizedTestworks correctly- Nested tests without parameterized classes work correctly
- Command-line execution via Gradle reports results correctly