Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Geschlossen
#1,036 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
43/100
Issue-Typ
Refactoring
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
typescript
Bereich
ci-cd, testing-qa

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
TypeScript
Sterne
481
Forks
45
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
82

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ai-driven-dev/framework

Alle Issues in ai-driven-dev/framework

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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