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