Для проблем компиляции и для проблем заполнения: Да, вы можете сделать, как описано, и просто попытаться скомпилировать и заполнить отчет.Если это не создает исключение, то у вас все в порядке.
Для третьего этапа проверки проблем рендеринга я экспортирую отчет в XML:
String xml = JasperExportManager.exportReportToXml(
JasperFillManager.fillReport(report, params, dataSource)
);
Теоретически XML является точнымпредставление файла PDF, но в формате, который легко прочитать в тестах.Например, если поле слишком длинное, а содержимое усекается, то оно также усекается в XML.Все значения уже находятся в формате «рендеринга», поэтому, если, например, у вас есть число, которое вы форматируете с помощью (DecimalFormat) -pattern, то это число будет отформатировано в XML.Также идентификаторы uuid для полей все еще присутствуют в XML, так что вы также можете легко найти поля.Чтобы проверить поле, вы можете, например, сделать что-то вроде:
hasXPath("//*[@uuid = '" + field.getUuid() + "']/../*[local-name() = 'textContent']", matcher)