Skip to content

Extension doesn’t play well with @ParameterizedClass #1824

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

  1. Create a JUnit 5 test using @ParameterizedClass
  2. Open the project in VS Code
  3. 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
  • @ParameterizedTest works correctly
  • Nested tests without parameterized classes work correctly
  • Command-line execution via Gradle reports results correctly

Activity

  1. github-actions commented on Dec 18, 2025

    @github-actions

    Hi Aylon Carrijo (@ayloncarrijo), I'm an AI Support assistant here to help with your issue. While the team reviews your request, I wanted to provide some possible tips and documentation that might help you in the meantime.

    The VS Code Java Test Runner currently doesn’t support JUnit 5’s @ParameterizedClass (class-level parameterization) yet, so it executes the tests but never reports pass/fail status. There is no workaround built into the extension at the moment. Suggestions:

    • Switch to method-level parameterized tests (@ParameterizedTest) or factories, which are fully supported today.
    • Follow or file an enhancement request on the Java Test Runner repo to track adding @ParameterizedClass support: https://github.com/microsoft/vscode-java-test/issues

    Other references with low confidence:

    Other relevant issues

    The team will respond to your issue shortly. I hope these suggestions are helpful in the meantime. If this comment helped you, please give it a 👍. If the suggestion was not helpful or incorrect, please give it a 👎. Your feedback helps us improve!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions