跳转到内容
关系图谱

test-driven-development(Addy)

357 字 1 分钟

属性 8
repo
addyosmani_agent-skills
skill
test-driven-development
source
addyosmani_agent-skills/skills/test-driven-development/SKILL.md
invoke
model
phase
build
cost
low
status
stable
local
outdated
一句话

红绿重构循环驱动开发:先写会失败的测试再写刚好过它的实现;修 bug 走 Prove-It 模式先复现。

何时用 ​

  • 适合:实现任何逻辑、修任何 bug、改任何行为;要证明代码能工作;贴进来的内联代码也算。
  • 不适合:纯配置或文档改动;探索性 spike(事后要补测试)。

怎么用 ​

text
给购物车加个满减规则,走 TDD:先写失败测试再实现
  1. 先探栈:测试框架、断言库、跑法,沿用项目惯例。
  2. RED:写一个描述期望行为的失败测试,看着它红。
  3. GREEN:写刚好让它过的最小实现,不多写。
  4. REFACTOR:保持绿的前提下清理,再进下一个循环。
  5. 修 bug 用 Prove-It:先写复现 bug 的失败测试,修完转绿即证据。

产出 ​

  • 先行的测试套件和最小实现;bug 修复附一个回归测试。

要点与坑 ​

  • 用测试金字塔和资源模型定测试大小,Decision Guide 告诉你选哪层。
  • 测状态不测交互;DAMP 优先于 DRY;能用真实现就不用 mock;AAA 结构;一个断言一个概念。
  • 浏览器行为交给 addy-browser-testing-with-devtools;复杂 bug 的复现测试可派子代理写。

关联 ​