cha*_*had 13 language-agnostic pdf unit-testing
关于使用单元测试,我迟到了派对...试图找出最佳实践等等.我的问题是,给定一个负责生成PDF(或Doc/Html/Xml /等)的类,我将如何测试最终输出文件是否正确?我想一个基于文本的文件(xml),我可以看看字符串是否匹配,但二进制文件(pdf)怎么样?我应该检查MD5哈希吗?我应该测试一下吗?
提前致谢.
对于关键任务的 PDF(例如发送给客户的 PDF),我认为检查文本是不够的。您需要检查布局、字体大小、文本换行等。与我们使用 Selenium 检查网页的原因相同。
我采取的方法是将 PDF 转换为图像,并将该图像与已知的“正确”图像进行比较。我们的 PDF 不经常更改,并且不包含任何随时间变化的内容(例如“今天的”日期)。所以这种方法效果很好——使用相同的输入数据,我们总是可以生成相同的输出 PDF。
我认为 PDFUnit 现在已经内置了对此的支持,此外还有更多功能: http ://www.pdfunit.com/en/documentation/java/testscope/rendered-pages.html