jacoco 是一款开源工具,用来统计代码覆盖率。提供了maven插件、ant Tasks、agent代理等使用方法。
三种使用方法
- ant任务方式不常用,且需要配置环境,所以未考虑这种方法。
- maven插件
参考 https://mp.csdn.net/postedit/103148884
这种方式主要是在maven 生命周期中统计代码覆盖率,主要用于单元测试。 - jacoco agent
这种方式可以在程序运行时,进行统计代码覆盖率。接口测试、自动化测试等都可使用。目前我的需求是统计某个服务的代码覆盖率,测试是通过接口测试完成,服务与测试代码是分离的,所以主要使用这种方式。
jacoco agent
启动服务时,在虚拟机参数加上jacoco agent 代理,这样在服务中代码被执行时,jacoco可以统计并记录。测试结束后,可以把记录写入exec文件中。通过exec文件就可以查看覆盖率。
1、下载jacoco agent
https://www.eclemma.org/jacoco/
下载解压后文件如下
jacocoagent.jar 用来监听执行代码
jacococli.jar 提供了一些命令行接口,可以用来生成exec文件、html报告等。