ABP + Verify(快照) 驱动的 PDF/Excel 导出回归 🚀
📚 目录
0) TL;DR ✨
-
将导出回归拆为两条通路:
- 文本/结构层:用 PdfPig 提取 PDF 文本/坐标生成 JSON 快照;
- 像素层:ImageMagick 将 PDF 每页栅格化为 PNG 做阈值化对比。
-
启用 Strict JSON、按 runtime 隔离快照,CI 中 禁 GUI diff;失败产出
.received.*
,审阅通过晋级.verified.*
。 -
EPPlus 8 必须显式设置 License;Excel 以结构快照为主,必要时加视觉抽样。
-
Magick.NET 读取 PDF 需要 Ghostscript(Linux CI 尤其要装)。
1) 背景与目标 🎯
导出常见问题:字体回退、行高/分页漂移、二维码清晰度下降、Excel 样式/公式摇摆、跨机结果不一致。
目标:用 确定性渲染 + 规范化快照 + 阈值化对比,让改动看得见、量得出、可回滚(.received
↔ .verified
)。
2) 架构与职责(解耦渲染器) 🧩
- Exporter:产出中立 DTO,不绑定库。
- Renderer:仅负责 PDF/Excel 渲染。
- Snapshot Harness:统一转 JSON/PNG 并交给 Verify 断言与基线管理。