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.bat文件第一行
set JAVA_OPTS="-javaagent:D:\tomato\bin\jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=127.0.0.1"
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.29\bin\jacocoant.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:\工作\study\jacoco.exec"/>
</target>
<target name="report">
<jacoco:report>
<executiondata>
<file file="E:\工作\study\jacoco.exec"/>
</executiondata>
<structure name="pan">
<!-- 可以按软件功能模块设置多个group,方便在report中查看 -->
<group name="pan">
<classfiles>
<!--.class文件路径,可以放在客户端-->
<fileset dir="F:\apache-tomcat-8.5.29\webapps\plan\WEB-INF\classes"/>
</classfiles>
<sourcefiles encoding="utf-8">
<!--源代码路径,可以放在客户端-->
<fileset dir="C:\Users\Administrator\Desktop\plan\src\main\java" />
</sourcefiles>
</group>
</structure>
<!-- report文件保存地址 -->
<html destdir="E:\工作\study\jacoco\report" encoding="utf-8"/>
</jacoco:report>
</target>
</project>
4,测试完毕,执行
ant dump 后下载

然后执行,ant report

查看测试报告




可以详细的看到 对应的代码那些路径没有测试到。方便我们进行用例的补充。对我们的接口测试工作,或者手工测试提供一些参考的价值。
这是我手工测试10分钟的覆盖率,看了下里面,很多分支或者代码可能覆盖不到,需要和自动化测试相结合。


浙公网安备 33010602011771号