microsoft / microsoft/vscode-java-test

Extension doesn’t play well with `@ParameterizedClass`

Offen
#1,824 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

ai-triaged enhancement gradle investigating junit low-priority test-reporting
Vorherrschende Sprache
TypeScript
Sterne
340
Forks
173
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
18

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die bereitgestellte Reproduktion von @ParameterizedClass mit Verschachtelung über Test Explorer und die Inline-Aktion Run Test auszuführen, und verfolge anschließend die Ergebnisverarbeitung der Erweiterung für diese Einstiegspunkte. Erledigt ist die Aufgabe, wenn jede parametrisierte Ausführung als erfolgreich oder fehlgeschlagen erscheint, einschließlich Fehlern, während vorhandene @ParameterizedTest- und verschachtelte Tests weiterhin korrekt funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, testing-qa
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.