用途:在编写、评审或重构测试,以及为代码改动选择验证方式时使用。核心主张是“测试只拥有更强层级无法证明的东西”,每个不变量交给能真正证明它的最强层级:类型与 lint、效果、证明、数据库约束、单元测试、集成测试、端到端测试。能靠编译或构造失败挡住坏情况就先这样做,剩余部分再放到能证明它的最强测试层级,并用尽量少的测试维持证明。
主要能力:先界定被改动的行为与每个新增/修改测试应捕获的具体缺陷;在测试新代码前枚举失败模式并逐项分配层级;遵守项目既有测试约定;只测类型、lint、效果、证明或约束证明不了的部分。单元测试优先于集成测试,集成又优先于端到端。测试替身要求按真实接口做类型化,禁止替身被测单元,优先使用既有接缝。集成点用真实存储与 Vercel Emulate,每个夹具独立状态、端口用 port: 0,并在失败后也等待清理。端到端保留少量确定性用例作为发布门禁。
必要用法:遵循本指南时先读项目说明与现有测试约定;需要运行器、夹具或异步测试细节时,阅读相关资料中给出的 Rust、TypeScript/JavaScript、Go、Python 对应文件,其他语言按项目约定。对缺陷修复,先在能显示问题的最高层级复现失败,确认按预期原因失败后再修复。移动或删除覆盖时,保留仍需要测试的所有权、并发、取消、无效输入与失败用例。删除被更强层级接管的测试前,先运行替代测试。
适用场景:测试编写与评审、测试重构、为改动选择验证方式、集成点冒烟测试设计、回归敏感度检查、发布前门禁设计。
限制:不得仅为满足测试偏好而改动生产架构;不要重述实现、不要仅为测试暴露私有辅助;不要用重复生产算法来计算期望值;避免休眠等待、共享可变状态与固定端口;不把低保真测试冒充集成或端到端测试;模型判断可解释失败但不作为发布门禁。资料未提供具体安装命令、价格或平台支持等信息。