【问题标题】:How to get the code coverage for unit tests in hybris to sonarqube using jacoco如何使用 jacoco 在 hybris 到 sonarqube 中获得单元测试的代码覆盖率
【发布时间】:2019-02-12 10:03:19
【问题描述】:

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

【问题讨论】:

    标签: sonarqube jacoco hybris


    【解决方案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. 此外,提供报告到 sonar 的路径,将有助于在 sonarqube 中获得代码覆盖率。

    【讨论】:

    • 嗨,jacoco.xml 放在哪里? /cutomize/ext-accelerator/acceleratorservices/resources/acceleratorservices/ant ?
    • @Valleri - 这是一个自定义创建的文件,可以放置在任何位置。执行ant命令时,可以使用-f选项指定这个文件的位置
    • 嗨,Aromal,如何将报告的路径提供给声纳以获得 sonarqube 的覆盖范围?
    猜你喜欢
    • 2014-05-11
    • 2014-04-06
    • 1970-01-01
    • 2016-01-31
    • 2018-11-13
    • 2020-07-18
    • 2014-05-04
    • 2014-06-04
    • 1970-01-01
    相关资源
    最近更新 更多