如何使用jacoco获得在混合声纳尔中的单元测试的代码覆盖率

时间:2018-09-07 05:43:15

标签: sonarqube jacoco hybris

如何将hybris项目的单元测试结果捕获到jacoco.exec并发布到sonarqube

1 个答案:

答案 0 :(得分:1)

为了将代码覆盖率的详细信息导入jacoco.exec,我们可以使用以下步骤 1.创建一个新的xml文件(jacoco.xml),该文件将被ant用作构建文件。(创建新文件是因为我们不想篡改hybris平台的build.xml) 2.将以下组件添加到新创建的jacoco.xml

  <project name="jacoco_rpt_pim" xmlns:jacoco="antlib:org.jacoco.ant">
      <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
        <classpath path="<path>/jacocoant.jar"/>
    </taskdef>

    <target name="jacocoalltests" description="runs allstests with jacoco attached">

        <jacoco:agent property="agentvmparam"
                      append="true"
                      output="file"
                      destfile="jacoco.exec"
                />

        <property name="testclasses.extensions" value="agcobackoffice"/>
        <ant dir="<PLATFORM_HOME>" target="unittests" inheritrefs="false">
            <property name="standalone.javaoptions" value="${agentvmparam}"/>
        </ant>
    </target>
  </project>
  1. 现在调用jacocoalltests目标,该目标将调用单元测试以获取代码覆盖率报告。
  2. 此外,提供报告到声纳的路径,将有助于使声纳覆盖代码。