加载中...

快照测试(Snapshot Testing)是一种回归测试技术:首次运行时把被测代码的输出(组件渲染树、序列化数据、生成文件)保存为快照文件,之后每次运行都将新输出与既有快照逐字比对,不一致即测试失败,由开发者判断是缺陷还是预期变更(预期变更则更新快照)。
Jest 使 React 组件快照测试流行:将组件渲染为序列化树写入 .snap 文件,防止无意的 UI 结构变化。此外还用于 CLI 输出、API 响应结构、代码生成器产物等场景。视觉回归测试是其变体,比对的是渲染后的像素截图。
优点:编写成本极低,能大面积覆盖输出结构,快速捕获意外变更。缺点:断言粒度粗,快照失败并不说明「哪里错了」;开发者容易养成不加审查就更新快照的习惯,使测试形同虚设;大快照在代码评审中噪音大。
快照应保持小而聚焦,并把更新快照视为需要认真评审的代码变更。

登录 后参与讨论
暂无讨论,来发表第一条评论吧