您当前所在位置:首页安装教程jacoco+ant搭建本地java代码覆盖率计算环境

jacoco+ant搭建本地java代码覆盖率计算环境

更新:2023-08-19 12:19:56编辑:tooool归类:安装教程人气:83

JaCoCo是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant、Maven中;可以作为Eclipse、IDEA插件,可以使用其JavaAgent技术监控Java程序等等。很多第三方的工具提供了对JaCoCo的集成,如Jenkins等。

jacoco+ant搭建本地java代码覆盖率计算环境

使用jacoco可以辅助用例补充,测试覆盖,减小代码出错风险,且加深代码熟悉。

jacoco+ant环境搭建步骤:

第一步:被测服务开启jacocoagent监听

下载jacoco:https://www.eclemma.org/jacoco/

复制jacoco到被测服务,目前服务基本都有jacoco,可以用复制,直接下载一份服务的jacoco到自己本地电脑即可。

复制 id_rsa.pub本地到远程authorized_keys下:

https://blog.csdn.net/zhengyebing/article/details/7046747

scp jacoco-0.8.7.zip root@IP地址:/目录/

被测服务配置JVM参数:添加

-javaagent:/soft/jacoco-0.8.7/lib/jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=*

配置后查看jacocoagent监听端口是否开启:netstat -an|grep 6300

因为是搭建本地环境,本地电脑也下载一份jacoco

第二步:本地安装ant

ant下载安装https://www.cnblogs.com/andy0816/p/14298865.html

buil文件(ant的bin目录下)配置:配置前准备:测试服务的class文件、源文件、jacoco文件

build.xml文件内容如下,根据自己需要修改文件目录:

<?xml version="1.0" encoding="UTF-8"?>

<project name="test" xmlns:jacoco="antlib:org.jacoco.ant" >

<!--Jacoco的安装路径-->

<property name="jacocoantPath" value="/soft/jacoco-0.8.7/lib/jacocoant.jar"/>

<!--最终生成.exec文件的路径,Jacoco就是根据这个文件生成最终的报告的-->

<property name="jacocoexecPath" value="D:\soft\jacoco-0.8.7\target\jacoco.exec"/>

<!--生成覆盖率报告的路径-->

<property name="reportfolderPath" value="D:\soft\jacoco-0.8.7\report"/>

<!--远程tomcat服务的ip地址-->

<property name="server_ip" value="11.91.185.215"/>

<!--前面配置的远程tomcat服务打开的端口,要跟上面配置的一样-->

<property name="server_port" value="6300"/>

<!--源代码路径可以包含多个源代码-->

<property name="webSrcpath" value="D:\code\ywl-master\ywl-basic\ywl-basic-service\src\main\java" />

<property name="webSrcpath" value="D:\code\ywl-service\ywl-basic\ywl-basic-service\src\main\java" />

<!--.class文件路径可以包含多个-->

<property name="webClasspath" value="D:\code\ywl-master\ywl-basic\ywl-basic-service\target\classes\com" />

<property name="webClasspath" value="D:\code\ywl-service\ywl-basic\ywl-basic-service\target\classes\com" />

<!--让ant知道去哪儿找Jacoco-->

<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">

<classpath path="${jacocoantPath}" />

</taskdef>

<!--dump任务:

根据前面配置的ip地址,和端口号,

访问目标tomcat服务,并生成.exec文件。-->

<target name="dump">

<jacoco:dump address="${server_ip}" reset="false" destfile="${jacocoexecPath}" port="${server_port}" append="false"/>

</target>

<!--jacoco任务:

根据前面配置的源代码路径和.class文件路径,

根据dump后,生成的.exec文件,生成最终的html覆盖率报告。-->

<target name="report">

<delete dir="${reportfolderPath}" />

<mkdir dir="${reportfolderPath}" />

<jacoco:report>

<executiondata>

<file file="${jacocoexecPath}" />

</executiondata>

<structure name="JaCoCo Report">

<group name="ywl-master">

<!--此处配置classes文件地址 -->

<classfiles>

<fileset dir="${webClasspath}" />

</classfiles>

<!--此处配置源码地址-->

<sourcefiles encoding="utf-8">

<fileset dir="${webSrcpath}" />

</sourcefiles>

</group>

<group name="ywl-service">

<!--此处配置classes文件地址 -->

<classfiles>

<fileset dir="${webClasspath2}" />

</classfiles>

<!--此处配置源码地址-->

<sourcefiles encoding="utf-8">

<fileset dir="${webSrcpath2}" />

</sourcefiles>

</group>

</structure>

<html destdir="${reportfolderPath}" encoding="UTF-8" />

</jacoco:report>

</target>

</project>

第三步:ant命令获取覆盖率报告

先cmd 到apache-ant-1.10.12的bin目录下,再执行下面的命令:

ant dump命令:获取覆盖率exec文件

ant report命令:生成覆盖率报告

第四步:查看覆盖率报告

找到自己在build.xml配置的路径查看覆盖率报告即可

遇到的问题:

如果报告的代码找不到,可能是源文件配置错误,需要重新配置一下(配置到java文件)报告乱码build文件<sourcefiles encoding="utf-8">多个jar包,配置build中多个group

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

Win10 RS2 UWP版《照片》迎更新:枢轴菜单回归 Win10 RS2 14942更新了哪些内容|Win10 RS2 14942更新内容汇总