用途:该技能用于行为变更类功能开发或缺陷修复,要求以测试驱动开发方式推进,即先写测试再实现。适用于用户提及 TDD、test-first、red-green-refactor、tracer bullets 等场景。
核心规则:按垂直的红-绿-重构切片工作。RED 阶段为单个可观察行为写一个测试;GREEN 阶段写最小生产代码使该测试通过;REFACTOR 阶段仅在测试全绿时清理。不要先批量编写想象中的测试,每个新测试应回应上一轮循环对实际行为与接口的认识。
默认约定:使用 bun test 运行针对性测试,使用 bun --bun tsc --noEmit 作为类型门禁;用 test 而非 it,并用 describe 组织;优先使用真实依赖和真实运行时边界而非 mock,仅对外部边界(远程 API、时间、随机性、罕见文件系统情况)使用 mock;避免条件断言,先断言分支再断言分支特定值;对条件、回退和错误路径测试两个分支;测试公共接口和运行时契约而非私有辅助函数;遵循所触及区域适用的仓库技能与 AGENTS.md 规则。
开始工作时:先探索代码库。若公共接口、预期行为或风险边界可从代码、测试或文档中发现,应使用这些证据而非询问用户。仅当决策无法发现且合理假设有风险时,才提一个简洁问题,并附上推荐答案。写生产代码前需确定:被测的公共接口或运行时边界、要证明的第一个可观察行为、本轮循环的针对性测试命令、交接前所需的更广泛验证。
循环纪律:对每个行为,新增或更新恰好一个聚焦测试;运行针对性测试并确认其因预期原因失败;仅实现足够通过的代码;再次运行同一测试并确认通过;如有必要则重构,然后重跑受影响测试。若测试在生产代码变更前就通过,则不是有效的 RED 信号,应收紧测试、选择不同行为,或说明现有覆盖已证明该行为。
参考文件:references/tests.md 提供行为测试示例与实现细节红旗;references/mocking.md 提供仅边界 mock 指导;references/interface-design.md 提供可测试公共接口设计;references/deep-modules.md 提供小接口、深实现指导;references/refactoring.md 提供绿色后运行的重构检查。
限制:资料未提供具体安装命令、收费信息、支持平台或效果数据。