Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

test(cli): make the telemetry mutation run and the test suite faster without weakening them

Abierto
#1,036 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
43/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript
Área
ci-cd, testing-qa

Línea de trabajo

Start with the telemetry Stryker configuration and Vitest project and test ordering, then inspect tests/e2e/telemetry-report.e2e.test.ts and the golden-cell capture tests. Measure the full mutation run and pnpm test before changes; trace why static mutants run without tests. Done means timings are recorded, CI and mutation shards are green, and the mutation score is unchanged or every difference is explained without any previously killed mutant surviving.

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

Descripción

Problem

pnpm test:mutation:telemetry takes 62 min locally (4228 mutants) and dominates CI time; cd cli && pnpm test takes 39 s. Measured on next at 06dbb980:

  • Vitest runs the integration project before unit and the longest files first. Stryker stops a mutant at its first failing test, so most mutants run slow integration files before the unit test that kills them in milliseconds: 2321 of 3575 killed mutants were killed by an integration test although 2756 were also covered by a unit test.
  • 196 mutants time out. About 31 are real infinite loops; about 165 are slow kills (some are killed in 3 ms by a unit test run alone).
  • 330 static mutants (7.8%) use 60.5% of all test runs.
  • pnpm test wall time is set by one file, tests/e2e/telemetry-report.e2e.test.ts (33 s).
Scope
  • A test order for mutation only: unit tests first, then shortest first.
  • Lower the Stryker timeout and set its concurrency once the order is fixed, measured.
  • Find why the static mutants run outside any test, and make them cheap without dropping them from the score.
  • Split the slowest e2e file so pnpm test runs it in parallel.
  • Capture each golden cell twice, not three times.
Acceptance criteria
  • Mutation score unchanged or each difference explained per mutant; no mutant that was killed before survives.
  • No test deleted or weakened (no lower numRuns, no dropped assertion).
  • Before and after timings of the full telemetry mutation run and of pnpm test, same machine.
  • CI green, mutation shards included.
Out of scope

Rewriting tests for speed, changing the mutation floor.

Lenguaje dominante
TypeScript
Estrellas
481
Forks
45
Merge medio
1 d 5 h
PR fusionados (30 d)
81

Preparar el entorno

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.

Más de ai-driven-dev/framework

Todos los issues de ai-driven-dev/framework

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.