【问题标题】:Combine cobertura code coverage reports of three separate projects结合三个独立项目的 cobertura 代码覆盖率报告
【发布时间】:2013-11-05 15:26:48
【问题描述】:

我有三个项目,它们存储在三个独立的存储库中。他们每个人都是一个单独的 mvn 项目。我想知道有没有办法将三个报告汇总为一个?

我查看了 cobertura 聚合函数。但似乎它只能处理项目的子模块。

有人有什么建议吗?

【问题讨论】:

    标签: code-coverage cobertura


    【解决方案1】:

    Maven 插件目标 cobertura:cobertura 支持 aggregate parameter,我认为它适用于 reactor 中的所有项目。

    但您似乎暗示这些项目可能不在同一个结构/反应器中,我不知道如何使用 maven 本身来做到这一点。但是,您可以使用可以集成到您的 maven 结构中的一个小 ant 脚本轻松地做到这一点。

    Cobertura Ant library 有一个merge task,它可以合并多个 .ser 文件(由运行时执行的检测代码生成)。这将生成一个组合的 .ser 文件,您可以从中generate a xml or html report

    如果您需要更多指点,请告诉我。

    【讨论】:

    • 有些项目是mvn项目,有些是ant项目。我只对所有项目的整体代码覆盖率结果感兴趣。我正在尝试编写一个小解析器来解析coverage.xml 文件中的结果。你知道有什么工具可以帮助我做到这一点吗?
    • 我没有。但同样,您通常会通过从原始 .ser 文件生成报告来获取 coverage.xml 文件。 Cobertura 提供了准确合并 .ser 文件的命令,然后您可以生成您的 xml(或 html)报告。所以简而言之,您最好先合并 .ser 文件,然后生成聚合的 .xml 报告,而不是尝试合并 .xml 报告。这至少是 cobertura 模型。
    【解决方案2】:

    在另一个question 中,响应者提供了一个链接,指向他们编写的执行您所要求的操作的 python 脚本,我将该“xml 组合器”移至位于 here 的 gist

    【讨论】:

      猜你喜欢
      • 2016-08-24
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2013-05-28
      • 2017-01-27
      相关资源
      最近更新 更多