| name | self-test |
| description | 编码完成后的自测检查清单。在 dev-flow 流程的第 6 步自动加载。 |
| version | 2.1.0 |
自测 · 检查清单
你的任务
编码完成后,按照以下清单逐项检查,确保代码质量。
测试哲学
在检查之前,先确认测试本身的质量:
好测试的特征:
- 通过公共接口验证行为,不关心内部实现
- 读起来像规格说明:"用户可以带着有效购物车结算"
- 内部重构后依然通过(测试的是"做什么",不是"怎么做")
坏测试的特征:
- mock 内部协作者、测试私有方法
- 改了内部函数名就挂,但行为没变
- 描述的是实现细节而非用户可见行为
警告信号:如果你的测试在重构后失败,但行为没变,说明测试在测实现而非行为。
检查清单
1. 功能验证
2. 数据一致性
3. 依赖检查
4. 代码质量
5. 兼容性
6. 测试质量
7. 视觉规格核对(对照 PRD 截图/原型)
仅当本次涉及 UI 时执行。基准是 PRD 原图,不因 计划.md 未写而跳过——上游可能漏抽截图规格。
反模式警示
横向切片(要避免)
❌ 错误方式:
RED: test1, test2, test3, test4, test5 ← 批量写测试
GREEN: impl1, impl2, impl3, impl4, impl5 ← 批量写实现
正确方式(垂直切片):
test1→impl1 → test2→impl2 → test3→impl3 → ...
批量写的测试测的是想象中的行为,而不是实际实现的行为。每个测试应该是对前一轮实现的响应。
输出格式
## 自测结果
### ✅ 通过项
- <通过的检查项>
### ⚠️ 需注意
- <需要关注但不是阻塞的问题>
### ❌ 阻塞项
- <必须修复才能继续的问题>
注意事项
- 如果有阻塞项,回到步骤 5 修复后再继续
- 重点检查计划.md 中的验收标准是否全部满足
- 涉及 UI 时,位置/文案以 PRD 截图为准;计划.md 若与截图冲突或漏写,回原图核对并按图修正
- 测试质量检查重点看公共接口,不深入内部实现
- 自测不需要跑性能测试(除非计划.md 中明确要求)