AgentStack
SKILL verified MIT Self-run

Tdd

skill-wenwuzhidao-mattpocock-skills-zh-tdd · by WenWuZhiDao

测试驱动开发。当用户想要以测试优先的方式构建功能或修复缺陷、提及 "red-green-refactor",或想要集成测试时使用。

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-wenwuzhidao-mattpocock-skills-zh-tdd

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Tdd? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

测试驱动开发

TDD 就是红 → 绿的循环。本技能是让这个循环产出值得保留的测试的参考:什么是好测试、测试放在哪里、反模式,以及循环的规则。每一节都适用于每一轮循环——在循环之前和循环之中查阅它们,而不是在之后。

在探索代码库时,请阅读 CONTEXT.md(如果存在),以便测试名称和接口词汇与项目的领域语言匹配,并尊重你所触及区域内的 ADR。

什么是好测试

测试通过公共接口验证行为,而不是实现细节。代码可以彻底改变;测试不应改变。好的测试读起来像一份规格说明——"用户可以用有效购物车结账"准确地告诉你存在什么能力——并且它能在重构中存活,因为它不关心内部结构。

参见 [tests.md](tests.md) 中的示例,以及 [mocking.md](mocking.md) 中的 mock 准则。

接缝——测试放在哪里

接缝(seam)是你进行测试的公共边界:你在此观察行为而不深入内部的接口。测试位于接缝处,绝不针对内部实现。

只在事先约定的接缝处测试。 在编写任何测试之前,先写下受测的接缝并与用户确认。不得在未经确认的接缝处编写任何测试。你无法测试一切——事先约定接缝,正是让测试精力落在关键路径和复杂逻辑上,而非每一个边界情况的方法。

问:“公共接口是什么,我们应该测试哪些接缝?”

反模式

  • 与实现耦合 —— mock 内部协作者、测试私有方法,或通过旁路验证(查询数据库而不是使用接口)。特征是:当你重构但行为并未改变时,测试却坏了。
  • 同义反复 —— 断言以代码相同的方式重新计算预期值(expect(add(a, b)).toBe(a + b)、一份以相同方式手工推导出的快照、一个断言等于自身的常量),因此它天生就会通过,永远无法与代码产生分歧。预期值必须来自独立的事实来源——一个已知正确的字面量、一个手工推演的示例、规格说明。
  • 水平切片 —— 先写完所有测试,再写完所有实现。批量测试验证的是想象中的行为:你测试的是事物的形态而非面向用户的行为,测试对真实变更变得不敏感,而且你在理解实现之前就固化了测试结构。改为按垂直切片工作——一个测试 → 一次实现 → 重复,每个测试都是一枚曳光弹,根据上一轮循环所学到的做出回应。

循环的规则

  • 先红后绿。 先写会失败的测试,然后只写刚好让它通过的代码。不要预测未来的测试或添加投机性的功能。
  • 一次一个切片。 每轮循环一个接缝、一个测试、一个最小实现。
  • 重构不属于循环。 它属于评审阶段(参见 review 技能),而不是红 → 绿的实现循环。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.