2

我需要了解业内人士如何以自动化方式测试 JasperReports。每次迭代都进行回归很费力且容易出错,我想自动化同样的。

场景:我在代码分支(jrprint、pdf、docx - 支持各种格式)上生成了一堆(JasperReports)报告。我想将此集与来自主干的预先存在的报告集进行比较,以确认以下内容:

  1. 报告中生成的总计和数据的有效性。(内容)
  2. 布局结构保持不变。(布局)

有哪些可用的工具/框架(如果有)?请指教。提前致谢。

4

1 回答 1

0

好问题。

  1. 使用 JasperReports API 自动生成报告。
  2. 将报告导出到文件。
  3. 使用 diff (或WinMerge)等工具将生成的输出与预先存在的报告进行比较。
  4. 使用可配置的页眉和页脚来隔离和删除更改每次报告运行的信息(例如,日期、用户名等)——这将允许 PDF 的二进制比较,前提是数据集在运行之间没有差异(即,始终使用相同的测试数据)。

这适用于二进制文件(PDF、docx、Excel)——差异工具将指示文件不同。对于结构化 XML 文档,您可以使用Schematron来验证两个文档中是否存在相同的 XPath。

由于.jrxml文件是 XML 文件,您还可以使用 Schematron 来验证源文件的布局没有改变(或没有明显改变;即所有必要的列都已到位)。

于 2012-10-09T18:20:48.983 回答