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分钟的覆盖率,看了下里面,很多分支或者代码可能覆盖不到,需要和自动化测试相结合。

 

posted @   北漂的雷子  阅读(606)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示