tdd-coach

Installation
SKILL.md

测试驱动开发

核心理念

基本原则:测试应该通过公开接口验证行为,而不是验证实现细节。代码可以完全重写,但测试不应因此而变。

好的测试是集成风格的:它们通过公开 API 执行真实的代码路径。好的测试描述的是系统"做什么",而不是"怎么做"。一个好的测试读起来就像一份规格说明——"用户可以用有效购物车结账"清楚地说明了系统具备什么能力。这样的测试能在重构中存活下来,因为它们不关心内部结构。

坏的测试与实现耦合。它们 mock 内部协作者、测试私有方法、或通过外部手段(比如直接查询数据库而不是使用接口)来验证。一个危险信号是:你重构了代码,测试却挂了,但行为并没有变。如果你重命名了一个内部函数导致测试失败,说明那些测试测的是实现,不是行为。

参见 tests.md 了解示例,以及 mocking.md 了解 mock 使用指南。

反模式:水平切片

不要先写完所有测试,再写所有实现。 这就是"水平切片"——把红色阶段当成"写所有测试",绿色阶段当成"写所有代码"。

这样会写出糟糕的测试

Installs
18
GitHub Stars
16
First Seen
Apr 29, 2026
tdd-coach — haomingz/kimi-skills