用途
test-quick 是一个专注于快速反馈的测试技能,只运行单元测试(Tier 1),跳过慢速、集成和 E2E 测试,目标是在 30 秒内给出结果。它适合在修改代码后快速检查单元、运行自上次提交以来受影响的测试、以 watch 模式进行 TDD,或在小重构后确认没有破坏功能。
何时使用
- 只运行单元测试,获得 30 秒以内的反馈
- 限制为最近改动影响的测试(--affected)
- 在单元测试上运行 watch 模式 TDD
- 小重构后确认没有破坏功能
何时改用其他技能
- 需要在 PR 前运行完整测试金字塔(单元 + 集成 + E2E):改用 test-full
- 需要生成覆盖率或 HTML 报告:改用 test-full
- 需要针对单个失败文件迭代:改用 test-focus
- 需要分析之前运行的测试结果:改用 test-analyze
主要能力
- 仅运行单元测试,排除慢速、集成和 E2E 测试
- 针对不同框架使用相应标记或参数:
- pytest:-m "not slow and not integration and not e2e"
- vitest:--exclude="/e2e/" --exclude="/integration/"
- cargo:--lib
- go:-short
- 支持 --watch 选项,启用持续测试执行
- 支持 --affected 选项,只测试自上次提交以来更改的文件
- 快速失败:遇到第一个失败即停止(-x 或 --bail)
- 提供简洁输出,包括单元测试通过/失败状态、通过数、失败数、耗时、失败详情和重跑命令
使用方式
该技能将任务委托给 test-runner 代理执行。使用 Agent 工具,指定 subagent_type: test-runner,并传入收集到的上下文,明确指定只执行 Tier 1(单元测试)。
参数:
- $1:可选路径或测试模式
- --watch:启用 watch 模式,持续反馈
- --affected:只运行自上次提交以来更改文件的测试
代理会收集项目类型、测试目录和上次测试运行等上下文,然后按上述框架参数运行单元测试。
适用场景
- 日常开发中的快速单元测试反馈
- TDD 工作流中的 watch 模式
- 小改动后的回归确认
- 只关注受影响测试的增量测试
限制
- 不运行集成测试和 E2E 测试
- 不生成覆盖率或 HTML 报告
- 不用于分析历史测试结果
- 不用于针对单个失败文件的迭代调试
- 如果运行时间超过 30 秒,建议使用 /test:consult 进行优化
- 具体支持的框架和参数以资料中列出的为准,其他框架暂未提供