天天看点

jacoco 统计接口自动化测试服务端代码覆盖率

1、服务启动脚本中加入javaagent

JACOCO_OPTS=" -javaagent:/jacoco/lib/jacocoagent.jar=includes=com.uinnova.*,output=tcpserver,port=6000,address=192.168.1.1"

如果要累计 加入参数: 

,append=true
           

nohup java $JAVA_OPTS $JACOCO_OPTS  $JAVA_MEM_OPTS > /dev/null 2>&1 &

2、下载jacoco, 解压

新建一个report目录, 新建build.xml

jacoco目录结构如下

jacoco 统计接口自动化测试服务端代码覆盖率

<?xml version="1.0" encoding="UTF-8"?>

<project name="plate_id_sample_service" xmlns:jacoco="antlib:org.jacoco.ant">

    <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">

        <classpath path="../lib/jacocoant.jar"/>

    </taskdef>

    <target name="dump">

        <!-- address和port和catalina.bat设置保持一致,destfile设置jacoco.exec保存地址 -->

        <jacoco:dump address="192.168.1.1" reset="true" port="6000" destfile="../jacoco.exec" append="true"/>

    </target>

    <target name="report">

        <jacoco:report>

            <executiondata>

                <file file="../jacoco.exec"/>

            </executiondata>

            <structure name="Example Project">

                <!-- 可以按软件功能模块设置多个group,方便在report中查看 -->

                <group name="SpringMVC">

                    <classfiles>

                        <!--.class文件路径,可以放在客户端-->

                        <fileset dir="../class"/>

                    </classfiles>

                    <sourcefiles encoding="utf-8">

                        <!--源代码路径,可以放在客户端-->

                        <fileset dir="../src" />

                    </sourcefiles>

                </group>

            </structure>

            <!-- report文件保存地址 -->

            <html destdir="./report"/>

        </jacoco:report>

    </target>

</project>

注意: 如果需要累加, 去掉reset="true"

增加:

append="false"
           

3、拷贝源文件和class到jacoco文件夹下的src 和class(没有新建)文件夹下

4、ant dump

5、生成报告命令: ant report

5、如果集成到jenkins, 也可以用jenkins插件生成报告

jacoco 统计接口自动化测试服务端代码覆盖率

继续阅读