如何使用 jacoco 获取 hybris 到 sonarqube 中单元测试的代码覆盖率

How to get the code coverage for unit tests in hybris to sonarqube using jacoco

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

要将代码覆盖率详细信息放入 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. 此外,提供报告到声纳的路径,将有助于在声纳中获得代码覆盖率。