ant+Jacoco 统计tomcat远程部署后项目接口自动化测试或者功能测试代码覆盖率

1.安装ant 环境,https://ant.apache.org/bindownload.cgi

2.下载jacoco包  https://www.eclemma.org/jacoco/ ,解压后,复制lib下面的jacocoagent.jar  和jacocoant.jar 到tomcat下面的bin目录下面,

   修改catalina文件

set JAVA_OPTS=-javaagent:F:apache-tomcat-8.5.29injacocoagent.jar=includes=*,output=tcpserver,address=127.0.0.1,port=6300,append=true

address 和port 为下载jacoco.exec文件的请求头

启动tomcat进行测试,

3.创建build.xml文件(对应的路径可以根据自己的配置选择)

<?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=
"F:apache-tomcat-8.5.29injacocoant.jar"/> </taskdef> <target name="dump"> <!-- address和port和catalina.bat设置保持一致,
destfile设置jacoco.exec保存地址 --> <jacoco:dump address="127.0.0.1"
reset="true" port="6300" destfile=
"E:工作studyjacoco.exec"/> </target> <target name="report"> <jacoco:report> <executiondata> <file file="E:工作studyjacoco.exec"/> </executiondata> <structure name="pan"> <!-- 可以按软件功能模块设置多个group,
方便在report中查看 --> <group name="pan"> <classfiles> <!--.class文件路径,
可以放在客户端--> <fileset dir="F:apache-tomcat-8.5.29webappsplanWEB-INFclasses"/> </classfiles> <sourcefiles encoding="utf-8"> <!--源代码路径,可以放在客户端--> <fileset dir="C:UsersAdministratorDesktop
plansrcmainjava" /> </sourcefiles> </group> </structure> <!-- report文件保存地址 --> <html destdir="E:工作\report"
encoding="utf-8"/> </jacoco:report> </target> </project>

4,测试完毕,执行    

ant   dump 后下载

然后执行,ant report

 

 查看测试报告    

 

 

 

 

可以详细的看到 对应的代码那些路径没有测试到。方便我们进行用例的补充。对我们的接口测试工作,或者手工测试提供一些参考的价值。

这是我手工测试10分钟的覆盖率,看了下里面,很多分支或者代码可能覆盖不到,需要和自动化测试相结合。

 

路漫漫其修远兮,吾将上下而求索。
原文地址:https://www.cnblogs.com/zhangyublogs/p/14517790.html