直接统计服务器的代码覆盖率。
可以手工点击页面触发调用后端,或者直接调用后端api。在jvm 参数里配置jacoco 信息之后,jacoco会统计代码覆盖率。
步骤:
- 在服务器的jvm启动参数添加jacoco 信息。这里的服务器可以是本地开发环境。
- 配置ant。
- 配置build.xml。
- 触发调用后端接口。可以手工点击前端页面的按钮,也可以直接调后端接口。
- 生成report。
- 查看统计结果。
一、服务器jvm参数
加上jvm参数:
-javaagent: "D:\ \jacoco\lib\jacocoagent.jar"=includes=*,output=tcpserver,address=127.0.0.1,port=6300,append=true
二、配置ant
下载ant,解压,然后把ant.bat所在路径加入到系统环境变量的path。
三、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="D:\jacoco\lib\jacocoant.jar"/>
</taskdef>
<target name="dump">
<!-- address和port和jvm启动参数设置保持一致,destfile设置jacoco.exec保存地址 -->
<jacoco:dump address="127.0.0.1" reset="true" port="6300" destfile="D:\coverage\exec\jacoco.exec"/>
</target>
<target name="report">
<jacoco:report>
<executiondata>
<file file="D:\coverage\exec\jacoco.exec"/>
</executiondata>
<structure name="例子项目">
<!-- 可以按软件功能模块设置多个group,方便在report中查看 -->
<group name="工程1">
<classfiles>
<!--.class文件路径,可以放在客户端-->
<fileset dir="D:\project\HelloWord\classes"/>
</classfiles>
<sourcefiles encoding="gbk">
<!--源代码路径,可以放在客户端-->
<fileset dir="D:\project\HelloWord\java" />
</sourcefiles>
</group>
</structure>
<!-- report文件保存地址 -->
<html destdir="D:\coverage\report"/>
</jacoco:report>
</target>
</project>
四、触发调用后端接口
可以手工点击前端页面的按钮,也可以直接调后端接口。
五、生成report
包括两步:
- 生成.exec。
- 生成html。
命令行进入build.xml所在路径。
运行ant dump命令,生成.exec。
然后运行ant report,生成html文件
六、查看统计结果
在build.xml里html destdir对应值的目录下面有个index.html,打开就可以看到统计结果。