【问题标题】:Jacoco: Aggregating branch coverage report of multiple test case methodJacoco:聚合多个测试用例方法的分支覆盖率报告
【发布时间】:2018-01-25 03:33:51
【问题描述】:

我正在使用 Ant JUnit。

<for list="${test.classes.list}"  param="class" delimiter=",">
<sequential>
    <for list="${@{class}}"  param="method" delimiter=",">
        <sequential>
            <jacoco:coverage destfile="${basedir}/jacoco.exec">
            <junit fork="true">
                 ......
                <test name="@{class}" methods="@{method}"/>
            </junit>
            </jacoco:coverage>
            <jacoco:report>     
                ......
                <csv destfile="coverage/@{class}.@{method}/report.csv"/>
            </jacoco:report>
        </sequential>
    </for>
</sequential>

在属性文件中,我有:

test.classes.list=a.b.C,d.e.F
a.b.C=test1,test2
d.e.F=test1,test2,test3

Jacoco 将为每个测试用例方法生成一份报告。

问题是每个类的分支覆盖不准确,因为覆盖的分支可能重叠。

如何汇总报告以获得整个项目的正确分支覆盖率?

【问题讨论】:

    标签: junit ant jacoco


    【解决方案1】:

    JaCoCo 附带Ant tasks 来启动带有执行记录的Java 程序,并根据记录的数据创建覆盖率报告。可以使用任务覆盖率、代理、转储和merge 来收集和管理执行数据。

    这是他们网页中关于如何合并一组*.exec 文件的示例:

    <jacoco:merge destfile="merged.exec">
        <fileset dir="executionData" includes="*.exec"/>
    </jacoco:merge>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多