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分钟的覆盖率,看了下里面,很多分支或者代码可能覆盖不到,需要和自动化测试相结合。
分类:
测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?