write-tests
这是一套关于如何编写高质量测试的实践规范,核心目标是让测试只对真实行为变化报警:当功能真正损坏时失败,在重构或修改配置等不改变行为的变动中保持通过。规范建议逐个编写测试,先写断言再让代码实现通过,迭代时使用最快的单文件、单测试运行器,交付前才跑全量测试并检查退出码。断言应面向最外层可用的入口和可观察行为,例如返回值、退出码、持久化数据、HTTP 响应和渲染输出,避免断言内部函数调用、编译器已保证的类型约束,以及在去重、归一化场景中只断言集合长度。测试应使用最小规模,依据明确的设计契约而非当前实现结果来设定阈值;确定性断言用精确阈值,涉及随机或调优的结果应以多次运行或多种子下的分布区间断言。规范还强调在系统边界(网络、时钟、文件系统、第三方 SDK、配置查询)使用 mock,不要过度模拟内部协作者,测试装置应与生产环境的接线方式一致。对比实验应控制变量,先验证再下结论,用一次性探针读取公开状态。测试不应抢占桌面焦点、移动指针、播放声音,或写入用户真实的配置、资料库和已安装应用。最后,规范要求对回归测试做一次证伪,确认它能因正确原因变红,并给出审查清单逐项检查。