Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

クローズ
#1,036 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
43/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
ci-cd, testing-qa

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
TypeScript
スター
481
フォーク
45
平均マージ
1日 6時間
マージ済み PR(30日)
82

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ai-driven-dev/framework のほかの issue

ai-driven-dev/framework の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。