用途:该技能用于判断一个测试是否值得编写、保留或删除,核心是把测试视为对项目自有行为的保护,而不是覆盖率仪式。它偏好廉价的 sans-I/O 测试,拒绝只复述测试替身配置、第三方库或透明接线(forwarding)的测试。
主要规则:只测试项目拥有的行为;默认第三方库正确且已被测试;仅当项目自有行为错误时测试才会失败,才值得添加。新增或保留测试前需同时满足:说出测试保护的确切项目自有不变量;说出一个违反该不变量并导致测试失败的真实缺陷;独立于测试替身配置推导期望结果;选择能观察到该缺陷的测试层级;若缺少契约或集成基础设施,应视为覆盖率缺口,测试替身不能替代该基础设施。
项目自有行为包括:业务规则与计算;状态机转换与穷尽决策;增加领域含义的转换;选择、重试、回退、缓存与持久化策略;增加稳定项目契约的错误转换。若实现只是把值转发给依赖并原样返回结果,则不应添加测试。
现有测试评审:当测试仅重复第三方文档、断言 schema 库机制、验证一对一转发包装器、断言测试替身配置、检查无行为的 getter/构造函数/字段赋值,或只走框架管道而无项目自有契约时,应删除。不要为覆盖率保留无用测试;覆盖率是执行证据,不是有意义验证的证据。
使用方式:在编写、批准或保留测试前,遵循上述准则并阅读每份适用的链接参考。适用于新增、保留、删除或评审测试的场景。限制:资料未提供具体安装命令、代码示例、支持语言列表、收费信息或平台细节,暂未提供。