JaCoCo 动态排除覆盖率为 0% 的包
JaCoCo exclude packages with 0% coverage dynamically
我正在尝试对为一系列测试生成的 JaCoCo XML 报告进行一些解析。
问题是,对于他们中的大多数人来说,到目前为止我们的覆盖范围还很小,XML 报告是 59MB。我想通过在报告中完全不包含覆盖率为 0% 的包来进行优化,以便解析更有效率。不同的测试包含不同的包,所以我不能真正硬编码要排除的包。
所以问题是,JaCoCO 是否有一个报告生成选项,我可以在其中指定不为覆盖率为 0% 的包写入信息?
这看起来像是过早的优化,尤其是您没有给出要优化的指标的测量值(顺便说一句,是内存还是性能?)。此外,IMO 59 MB 现在看起来并不大,无论是在内存消耗还是性能方面。也许你应该重新考虑解析 XML 的方式而不是报告的内容。例如,有 XML 流解析器,允许跳过不感兴趣的部分并且不在内存中保留 DOM。
回答最初的问题:不,截至今天,JaCoCo 中没有选项可以调整 XML 的内容。但是,也许您可以使用更紧凑的 CSV 报告。您也可以使用 JaCoCo API 编写自己的报告生成器。 JaCoCo documentation includes Javadoc as well as some usage examples, including example of generation of report.
我正在尝试对为一系列测试生成的 JaCoCo XML 报告进行一些解析。
问题是,对于他们中的大多数人来说,到目前为止我们的覆盖范围还很小,XML 报告是 59MB。我想通过在报告中完全不包含覆盖率为 0% 的包来进行优化,以便解析更有效率。不同的测试包含不同的包,所以我不能真正硬编码要排除的包。
所以问题是,JaCoCO 是否有一个报告生成选项,我可以在其中指定不为覆盖率为 0% 的包写入信息?
这看起来像是过早的优化,尤其是您没有给出要优化的指标的测量值(顺便说一句,是内存还是性能?)。此外,IMO 59 MB 现在看起来并不大,无论是在内存消耗还是性能方面。也许你应该重新考虑解析 XML 的方式而不是报告的内容。例如,有 XML 流解析器,允许跳过不感兴趣的部分并且不在内存中保留 DOM。
回答最初的问题:不,截至今天,JaCoCo 中没有选项可以调整 XML 的内容。但是,也许您可以使用更紧凑的 CSV 报告。您也可以使用 JaCoCo API 编写自己的报告生成器。 JaCoCo documentation includes Javadoc as well as some usage examples, including example of generation of report.