利用Jacoco与Ant生成接口测试代码覆盖率

1.下载jacoco和ant软件包
Ant:https://ant.apache.org/bindownload.cgi(历史版本:https://archive.apache.org/dist/ant/binaries/
Jacoco:https://www.eclemma.org/jacoco/
2.把jar放到服务器上,分别是jacocoagent.jar和jacocoant.jar
这里写图片描述
3.利用jacoco获取接口测试覆盖数据
详情参见:https://www.jacoco.org/jacoco/trunk/doc/agent.html
(1)需要在tomcat/bin目录下的catalina.sh添加配置
(2)启动tomcat

JAVA_OPTS="-javaagent:/data/jacocoagent.jar=includes=com.ysten.*,output=tcpserver,port=8044,address=192.168.50.133 -Xverify:none"

4.Ant配置说明
(1)编译使用的是JDK1.7,故ant版本使用的是version 1.9.2,
(2)建立build.xml文件,xml中可以加入对生成的html目录进行删除添加操作

<?xml version="1.0" encoding="UTF-8" ?>
<project name="Jacoco" xmlns:jacoco="antlib:org.jacoco.ant" default="report">
        <property name="result.dir" location="/data/tomcat/webapps/test/WEB-INF/" />
        <property name="result.classes.dir" location="${result.dir}/classes" />
        <property name="result.report.dir" location="/data/temp/coverageResults" />
        <property name="resource.code" location="/data/temp/test/test-api/src/main/java/" />
        <property name="jacocoantPath" value="/data/jacocoant.jar"/>
        <property name="integrationJacocoexecPath" value="./jacoco.exec"/>

        <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
                <classpath path="${jacocoantPath}" />
        </taskdef>

        <target name="dump">
                <jacoco:dump address="192.168.50.133" port="8044" reset="false" destfile="${integrationJacocoexecPath}" append="false"/>
        </target>

        <target name="report" depends="dump">

                <!-- Create coverage report -->
                <jacoco:report>
                        <!-- This task needs the collected execution data and ... -->
                        <executiondata>
                                <file file="${integrationJacocoexecPath}" />
                        </executiondata>

                        <!-- the class files and optional source files ... -->
                        <structure name="API_CodeCoverage">
                             <group name="API">
                                 <classfiles>
                                        <fileset dir="${result.classes.dir}"/>
                                 </classfiles>
                                 <sourcefiles encoding="UTF-8">
                                        <fileset dir="${resource.code}"/>
                                 </sourcefiles>
                             </group>
                        </structure>
                <!-- to produce reports in different formats. -->
                        <html destdir="${result.report.dir}" />
                </jacoco:report>
   </target>
</project>

5.进行功能测试,利用ant收集测试数据并生成html报告
./ant -v
这里写图片描述
如果出现此类问题,复制jacocoant.jar到ANT_HOME/lib下
这里写图片描述
6.下载生成的代码覆盖率文件夹中的index.html文件,如图所示:
这里写图片描述
这里写图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值