接口自动化接入jacoco
一、准备工作
- 下载jacoco:https://www.eclemma.org/jacoco/
- 下载ant:https://ant.apache.org/index.htmls
二、配置ant环境变量
本人mac环境,设置ant环境变量
#打开变量文件
vim ~/.bash_profile
#增加ant环境变量
export ANT_HOME=/Users/muxixi/jacoco/apache-ant-1.10.13
export PATH=${PATH}:${ANT_HOME}/bin
#激活
source ~/.bash_profile
三、配置build.xml
创建build.xml文件,放到ant的bin文件夹下,具体配置方式如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="test" xmlns:jacoco="antlib:org.jacoco.ant" > <!--jacoco路径--> <property name="jacocoantPath" value="xxx/jacocoant.jar"/> <!-- jacoco.exe 路径--> <property name="jacocoexecPath" value="xxx/jacoco.exe"/> <!--覆盖率报告的路径--> <property name="reportfolderPath" value="xxx/report"/> <!--启动的服务ip地址--> <property name="server_ip" value="127.0.0.1"/> <!--端口号--> <property name="server_port" value="6300"/> <!--源代码--> <property name="src_path" value="xxx/src/main/java/" /> <!--.class文件--> <property name="class_path" value="xxx/target/classes"/> <!--让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="true" 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="test"> <classfiles> <fileset dir="${class_path}" /> </classfiles> <sourcefiles encoding="utf-8"> <fileset dir="${src_path}" /> </sourcefiles> </group> </structure> <html destdir="${reportfolderPath}" encoding="utf-8" /> </jacoco:report> </target> </project>
四、启动服务
java -javaagent:xxx/lib/jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=127.0.0.1 \
-jar xxx/target/xxx.jar
来看一下每个字端的含义:
- includes:分析包含的类名列表
- output:覆盖率数据的输出方法,
tcpserver:代理侦听由address和port属性指定的 TCP 端口上的传入连接。执行数据写入此 TCP 连接。- xxx/target/xxx.jar:服务打的jar包
五、访问服务接口
http://127.0.0.1:8080/xxx
六、生成覆盖率
- ant dump:报告的数据成功生成
- ant report:生成报告

浙公网安备 33010602011771号