优先级:低 | 预估 ~15 个测试用例
src/main.tsx CLI 参数测试目标:覆盖 Commander.js 配置的参数解析和模式切换。
src/main.tsx 的 Commander 实例通常在模块顶层创建。测试策略:
main.tsx 的 program 导出parseArgs 而非 parse(不触发 process.exit)| # | 用例 | 输入 | 期望 |
|---|---|---|---|
| 1 | 默认模式 | [] |
模式为 REPL |
| 2 | pipe 模式 | ["-p"] |
模式为 pipe |
| 3 | pipe 带输入 | ["-p", "say hello"] |
输入为 "say hello" |
| 4 | print 模式 | ["--print", "hello"] |
等效于 pipe |
| 5 | verbose | ["-v"] |
verbose 标志为 true |
| 6 | model 选择 | ["--model", "claude-opus-4-6"] |
model 值正确传递 |
| 7 | system prompt | ["--system-prompt", "custom"] |
system prompt 被设置 |
| 8 | help | ["--help"] |
显示帮助信息,不报错 |
| 9 | version | ["--version"] |
显示版本号 |
| 10 | unknown flag | ["--nonexistent"] |
不报错(Commander 允许未知参数时) |
风险:
main.tsx可能执行初始化逻辑(auth、analytics),需要在 mock 环境中运行。如果复杂度过高,降级为只测试参数解析部分。
bun test --coverage 2>&1 | tail -50
| 模块 | 当前覆盖率 | 目标 |
|---|---|---|
src/utils/ |
待测量 | >= 80% |
src/utils/permissions/ |
待测量 | >= 60% |
src/utils/model/ |
待测量 | >= 60% |
src/Tool.ts + src/tools.ts |
待测量 | >= 80% |
src/utils/claudemd.ts |
待测量 | >= 40%(核心逻辑难测) |
| 整体 | 待测量 | 不设强制指标 |
testing-spec.md §4bun test --coverage 输出不可用(Bun 版本限制),改用手动计算已测/总导出函数比bun test 全部通过