zl程序教程

您现在的位置是:首页 >  Java

当前栏目

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

2023-03-15 22:52:54 时间

 

 

 

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: omatoinjacocoagent.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.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:UsersAdministratorDesktopplansrcmainjava" />
                    </sourcefiles>
                </group>
            </structure>
                     
            <!-- report文件保存地址 -->
            <html destdir="E:工作studyjacoco
eport"   encoding="utf-8"/>
                        
        </jacoco:report>
    </target>
</project>

4,测试完毕,执行    

ant   dump 后下载

然后执行,ant report

 

 查看测试报告    

 

 

 

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

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