问题
我正在尝试对 PDF 进行一些非常快速的快照测试。我们的系统使用 Spire.PDF 生成它们并将它们发送到以 base64 编码的 DocuSign。我的快照获取生成的 base64 并将其与“已知良好”进行比较,看看是否有任何变化。
到目前为止,这个过程在我的电脑和同事的电脑上可以 100% 重现。但是当我们在 Jenkins 上进行测试时,测试失败了。深入研究这个问题,具有相同基础文档的相同测试用例会生成完全不同的字节,同时也会生成外观相同的PDF。
一些细节
或者我已经排除的事情。或者其他想法。
- 在此过程中的某个时刻,我必须转换为字符串并返回,并且我检查了我的计算机和 Jenkins 上的编码是否相同。
- 我已经用静态值替换了任何“随机”元数据值,例如 PDF 中的创建日期和 ID,因此可以进行快照。
- 我对可以快速完成的快照测试的其他想法持开放态度!我正在寻找一种“速赢”来减少我们需要对这些东西进行每个版本的回归测试,而不是一个“全面的测试解决方案”。
- 每次构建并重新创建构建环境都会被破坏,而我的计算机则没有。
- 我没有检查 Spire 的版本是否相同(因为这是周末,我没有开发操作权限和政治......),但是两个进程都使用 NuGet 获取库,所以我没有任何它们可能不同的原因。
- 我们使用嵌入式资源方法授权 Spire,生成的 PDF 都没有暗示它是试用版。