Commit 113052a
feat(tests): add Stryker mutation testing to VS Code extension
- Install @stryker-mutator/core v9.6.1 as a devDependency
- Add stryker.config.mjs targeting compiled JS in out/src/ to avoid
a TypeScript recompile step per mutant:
- Mutates 7 core logic files (tokenEstimation, sessionParser,
maturityScoring, usageAnalysis, utils/*)
- Runs 9 explicit unit test files (no shell globs for cross-platform safety)
- coverageAnalysis: off with command runner (node:test built-in)
- concurrency: 2, timeoutMS: 15000
- Threshold break: 0 (informational during rollout)
- HTML report written to reports/mutation/report.html
- Add test:mutation npm script: compile-tests then npx stryker run
- Add mutation-testing CI job in ci.yml:
- Only runs on pull_request events (not push to main)
- Depends on build job (tests must pass first)
- continue-on-error: true to keep it non-blocking
- Hard cap at 20 minutes
- Uploads HTML report artifact (14-day retention)
- Add .stryker-tmp and reports/mutation/ to .gitignore
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 78bfd77 commit 113052a
5 files changed
Lines changed: 1800 additions & 29 deletions
File tree
- .github/workflows
- vscode-extension
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
86 | 131 | | |
87 | 132 | | |
88 | 133 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
0 commit comments