microsoft / microsoft/vscode-java-test

Extension doesn’t play well with `@ParameterizedClass`

Abierto
#1,824 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

ai-triaged enhancement gradle investigating junit low-priority test-reporting
Lenguaje dominante
TypeScript
Estrellas
340
Forks
173
Merge medio
1 d 19 h
PR fusionados (30 d)
18

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza ejecutando la reproducción proporcionada de @ParameterizedClass anidado mediante Test Explorer y la acción inline Run Test; después, sigue el procesamiento de resultados de la extensión para esos puntos de entrada. El trabajo estará terminado cuando cada ejecución parametrizada aparezca como correcta o fallida, incluidos los fallos, y los @ParameterizedTest y las pruebas anidadas existentes sigan funcionando correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, typescript, vscode
Área
developer-experience, testing-qa
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.