zoukankan      html  css  js  c++  java
  • 在jenkins和sonar中集成jacoco(四)--在sonar中集成jacoco

    首先要得到之前的单元测试和集成测试的覆盖率文件,还有对应的class文件以及单元测试的覆盖率报告,材料准备齐全之后,使用如下命令:

    build.xml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
            <classpath path="${env.SONAR-ANT-TASK.JAR}"/>
        </taskdef>
    
        <target name="sonar">
            <sonar:sonar key="${sonar.project.key}" version="${sonar.project.version}" xmlns:sonar="antlib:org.sonar.ant">
                <sources>
                    <path location="${src.dir}" />
                </sources>
    
                <property key="sonar.projectName" value="jacoco_demo" />
                <property key="sonar.sourceEncoding" value="UTF-8" />
                <property key="sonar.dynamicAnalysis" value="reuseReports" />
                <property key="sonar.surefire.reportsPath" value="${junit.dir}" />
                <property key="sonar.core.codeCoveragePlugin" value="jacoco" />
                <property key="sonar.jacoco.reportPath" value="${basedir}/ut.exec" />
                <property key="sonar.jacoco.itReportPath" value="${basedir}/uat.exec" />
    
                <tests>
                    <path location="${src.test.dir}" />
                </tests>
    
                <binaries>
                    <path location="${build.src.class}" />
                    <path location="${build.test.class}" />
                </binaries>
    
                <libraries>
                    <path location="${build.lib.dir}" />
                </libraries>
            </sonar:sonar>
        </target>
    

    参数解释:

    • sonar.dynamicAnalysis是指单元测试报告的生成方式,值为reuseReports是指给出生成好的单元测试报告路径。
    • sonar.surefire.reportsPath是指单元测试报告的路径。
    • sonar.core.codeCoveragePlugin是覆盖率插件,有jacoco,cobetura等。
    • sonar.jacoco.reportPath是单元测试覆盖率文件的路径。
    • sonar.jacoco.itReportPath是集成测试覆盖率文件的路径。

    更多参数可以参考这里:单元测试集成测试
    在sonar 3.3的版本会自动将单元测试和集成测试的覆盖率合并,最后附上sonar上的覆盖率显示:


  • 相关阅读:
    [python]百度语音rest api
    [vim]插件ctrlp
    [vim]插件NerdTree
    [Flask Security]当不能通过认证的时候制定跳转
    MongoDB 安装
    c/c++封装成python包
    mysql的常用操作
    python基础知识的学习和理解
    docker系列之三:docker实际应用
    docker系列之二:构建docker容器
  • 原文地址:https://www.cnblogs.com/kingzzm/p/3321722.html
Copyright © 2011-2022 走看看