tdd

Installation
SKILL.md

TDD(red → green)

测试验证公共接口上的行为,不验证实现细节;实现可以整个换掉,测试不该跟着换。每个循环开始前查阅本文件,而不是事后。

Seams:测试放哪里

seam 是观察行为的公共边界:不深入内部就能看到行为变化的接口。测试只放在 seams 上,从不对着内部写。

只在预先商定的 seams 上测试。 写任何测试前,先写下要测的 seams 并与用户确认,或采用已批准 Spec/plan 的验收面;未确认的 seam 上不写测试。问法:"公共接口是什么?哪些 seams 值得测?"

好测试读起来像规约("user can checkout with valid cart"),能在重构后存活。好/坏对照见 references/tests.md;mock 边界见 references/mocking.md。

循环规则

  • 先红后绿。 先写失败测试,再写刚好让它通过的实现;不预写未来测试,不加投机功能。
  • 一次一片。 每个循环一个 seam、一个测试、一段最小实现;垂直切片而非横向铺开——先写全部测试再写全部实现,验证的是想象中的行为。
  • 重构不在循环内。 行为变绿后的结构收敛由 review 识别、授权后另行整理,不混进 red-green 循环。

反模式

Installs
5
GitHub Stars
3
First Seen
Sep 15, 2026