mcpField
S
skill-tdd

skill-tdd

github.com/nyldn测试与质量4.3k57 次安装今天更新
代码仓库

关于 skill-tdd

面向 Codex CLI 的 TDD 技能,以红、绿、重构循环指导代码变更。它要求先观察到测试按预期失败,再修改生产行为,并规定完成时需提供的证据。

主要功能

  1. 01实现前要求测试按预期失败
  2. 02运行针对性测试和受影响套件
  3. 03多次失败后切换策略
  4. 04记录测试合并的证据

适用场景

  1. 01用针对性测试验证行为变更
  2. 02通过受影响的测试套件检查代码变更
  3. 03审查测试合并方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nyldn/claude-octopus --skill skill-tdd

安装后在 Claude Code 中输入/skill-tdd确认已加载。

附带文件agents/openai.yaml

详细介绍

Host: Codex CLI — 此技能原为 Claude Code 设计,后适配至 Codex。 交叉引用命令在 Codex 中使用已安装的技能名称,而不是 /octo:* 斜杠命令。 使用当前 Host 的 shell 和子 Agent 工具。当前会话未提供某个提供方、模型或 Host 子 Agent 时,不要声称其可用。 Host 工具的对应项请参阅 skills/blocks/codex-host-adapter.md。

测试驱动开发

从已安装插件中读取 skills/blocks/engineering-method-selection.md, 以确定评审准入条件。自然语言请求和 --peer-review 遵循相同政策。 遵从仅针对 Host 的请求;风险本身并不授权付费使用。

在当前 Host 上执行红、绿、重构循环。常规 TDD 不会额外分派任何提供方。 仅当用户传入 --peer-review、明确请求独立评审,或现有风险政策要求时, 才使用一名外部评审者。明确的辩论、评审团和多模型命令仍遵循各自的执行约定。

在观察到预期失败的测试之前,不得更改生产行为。

规则

在针对预期原因失败的聚焦测试出现之前,不要更改生产行为。请求改动范围之外的现有实现应保持不变。

  1. 明确可观察的行为,以及能证明该行为的最小公共边界。
  2. 编写一个聚焦测试。只有在公共边界无法隔离其故障模式时,才直接测试内部不变量。
  3. 运行测试并记录预期失败、命令和退出状态。
  4. 实现能够通过测试的最小改动。
  5. 运行聚焦测试,然后运行受影响的测试套件。
  6. 仅在测试保持通过时进行重构。

如果测试在实现之前就通过,它就不能作为红灯证据。如果测试因夹具或语法问题出错,修复测试,直到它因缺少目标行为而失败。

合并测试

不要把相似断言等同于重复保障。保留不同的 OS、安全、取消和集成边界。对于每个移除的测试,记录 old_test、behavior、replacement、mutant、red_observed、baseline_ms、candidate_ms 和 reason。保留的测试必须能在预期的调用方边界上杀死所命名的变异体。

预热一次后,进行五次相互隔离的运行,并报告每次样本及中位数。只有当变慢幅度同时超过 20% 和 100 ms 时,才进行评审。

完成要求提供已观察到的红灯和绿灯证据、受影响测试套件的结果,以及在移除测试时提供合并记录。若缺少评审者,应报告评审未完成,不得模拟评审。

策略轮换

如果同一个测试在两次实现尝试后仍然失败,请停止并重新检查测试边界、夹具和预期行为。策略轮换钩子表示应尝试根本不同的假设,而不是再尝试同一补丁的另一种变体。

改编自 mattpocock/skills 中的 DEEPENING,基于提交 3cca18b368ae95cdbdebbff572ccafa662551015,遵循 MIT License。请参阅 THIRD_PARTY_NOTICES.md。

评论

支持 Markdown