Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/studyzy/save-token-kit --skill ut-writer명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | ut-writer |
| description | 为 save-token 项目补充单元测试,使覆盖率达到 60% 且全部通过。 |
| context | fork |
| model | deepseek-v4-pro-ioa |
$ARGUMENTS
为 save-token 项目补充单元测试,使 vitest 覆盖率达到 60%(branches / functions / lines / statements 四项),且所有测试通过。循环「写测试 → 跑测试 → 修复失败」直到达标。
覆盖率阈值已在 vitest.config.ts 中配置为 60%,pnpm test:coverage 失败即表示未达标。
pnpm test:coverage 2>&1
解读输出:
检查 coverage/index.html 或终端 text reporter 输出,找出覆盖率最低的源文件。
需要关注的源文件(src/ 下,排除项见 vitest.config.ts):
| 源文件 | 对应测试文件 | 排除? |
|---|---|---|
src/adapters/codebuddy-adapter.ts | 无 | 否 |
src/adapters/platform-adapter.ts | 无 | 否 |
src/analyzers/rules.ts | tests/analyzers/rules.test.ts | 否 |
src/analyzers/suggestion-engine.ts | tests/analyzers/suggestion-engine.test.ts | 否 |
src/cli-setup.ts | 无 | 否 |
src/cli.ts | 无 | 否 |
src/collectors/fs-collector.ts | tests/collectors/fs-collector.test.ts | 否 |
src/collectors/headless-collector.ts | tests/collectors/headless-collector.test.ts | 否 |
src/collectors/proxy-collector.ts | tests/collectors/ 无对应 | 否 |
src/collectors/token-estimator.ts | tests/collectors/token-estimator.test.ts | 否 |
src/commands/*.ts (6 个) | tests/commands/*.test.ts | 否 |
src/executors/*.ts (4 个) | tests/executors/*.test.ts | 否 |
src/proxy/*.ts (2 个) | tests/proxy/*.test.ts | 否 |
src/utils/error-handler.ts | tests/utils/error-handler.test.ts | 否 |
src/utils/fs-operations.ts | tests/utils/fs-operations.test.ts | 否 |
src/utils/output.ts | tests/utils/output.test.ts | 否 |
src/utils/platform.ts | 无 | 否 |
src/utils/prompt-templates.ts | tests/utils/prompt-templates.test.ts | 否 |
src/utils/resource-dir.ts | 无 | 否 |
src/types/index.ts | 无 | 是 |
src/i18n/** | 无 | 是 |
src/adapters/claude-code-adapter.ts | 无 | 是 |
src/adapters/codex-adapter.ts | 无 | 是 |
优先补充无测试文件的模块(覆盖率提升最快):
src/adapters/codebuddy-adapter.tssrc/adapters/platform-adapter.ts(接口定义,简单)src/utils/platform.tssrc/utils/resource-dir.tssrc/cli-setup.tssrc/collectors/proxy-collector.ts其次增强已有测试但覆盖率不足的模块。
在写新测试前,先确保现有测试全部通过:
pnpm test:run
若有失败:
按第 1 步的优先级顺序,每次选 1-2 个覆盖率最低的源文件补充测试。
测试编写规范:
tests/<模块>/<文件名>.test.ts,与 src/ 目录结构对应describe / it / expecttests/fixtures/)复用以减少冗余tinyexec 等外部依赖使用 vi.mock() mockfs.mkdtempSync() + afterEach 清理)写完后立即验证:
pnpm test:coverage 2>&1
重复第 3 步,每次补充 1-2 个模块的测试后跑 pnpm test:coverage,直到:
四项阈值全部满足且无失败测试 → 结束,报告最终覆盖率和测试数量。
pnpm typecheck && pnpm lint:fix
确保类型检查和 lint 都通过。如有问题则修复后重新验证。