基于jacoco+ant+tomcat生成代码覆盖率报告
最近着手研究代码覆盖率落地的项目,把自己的经历记录下来供大家参考,也欢迎有想法的互相交流。覆盖率报告支持服务停止、重启累加记录,不会因为项目部署而导致历史覆盖率报告清空。但切忌清空report下的文件,会导致历史覆盖率报告丢失~
废话少说,直接上干货
1、关于项目代码:着手研究的项目系前后端分离,所以需要分别获取到能成功启动的完整前端代码和后台代码,以便后续能在本地成功部署。
2、关于工具及jar包生成:建议使用IntelliJ IDEA 2018.1.8 (Community Edition)、官网下载jacoco-0.8.6、官网下载apache-tomcat-7.0.108
3、环境配置:java环境配置、ant环境配置(环境配置直接网上一搜一箩筐)
4、修改参数配置:ant/bin/build.xml配置对应参数、前端项目的vue.config.js修改连接后端的ip和port
5、命令行启动项目:前后端启动、ant dump、ant report
6、获取覆盖率报告
1、关于项目代码
因为公司的项目是前后端分离的,所以就需要分别获取到能成功启动的完整前端代码和后台代码,以便后续能在本地成功部署。(注:项目代码统一放在D盘)
后端代码路径目录
前端代码路径目录
2、关于工具及jar包生成
2.1、建议官网下载使用IntelliJ IDEA 2018.1.8 (Community Edition)版本、官网下载jacoco-0.8.6版本、官网下载apache-tomcat-7.0.108,下载后的安装包统一放在D盘目录下。
jacoco项目目录
tomcat项目目录
2.2、idea工具导入maven,如下图所示。修改【…/start】-pom.xml的packaging字段为jar(目的是生成jar包)。找到start-lifecycle,双击【clean】-【compile】-【package】,生成的*.jar包在target同级目录下
jar包
2.3、基于tomcat启动后台程序
进入tomcat,cmd快捷进入命令窗口启动。
3、环境配置
3.1、java环境配置:有些需要开通管理员权限才可以配置系统变量,参考【https://jingyan.baidu.com/article/b907e627aff3a946e7891cd9.html】。配置成功后,cmd输入java -version
3.2、ant环境配置:参考【https://zhidao.baidu.com/question/477945212.html】。配置成功后,cmd输入ant -version
4、修改配置参数
4.1、进入本地ant目录下修改build.xml文件部分参数内容。(网上有,找现成修改即可)
4.2、因为项目是前后端分离的,所以需要修改前端js文件的代理。项目跟目录统计下的文件【vue.config.js】,修改target为本地ip+port。其中的port为后端项目的port,而非登录页面显示的端口号。
5、命令行启动项目
经过前面步骤1~4之后,已经是万事俱备只欠东风了。就剩下启动前后端项目,接着获取覆盖率报告了。
5.1、cmd执行后端命令启动后端项目:
输入启动命令
操作到这一步,差一脚就能登进大雄宝殿查阅代码覆盖率报告了
5.3、前后端项目启动成功后,页面任意操作进行代码分支覆盖,进入ant的bin目录【D:\javaCov\apache-ant-1.10.9-bin\apache-ant-1.10.9\bin】cmd快捷窗口输入【ant dump】,出现 BUILD SUCCESS标志,代码覆盖率exec文件生成成功。
【ant report】生成最终的代码覆盖率报告
6、获取覆盖率报告
进入【D:\javaCov\jacoco-0.8.6】report为最终生成的覆盖率报告。双击index.html,查看代码覆盖率报告。
以上所有内容均原创,转载请附本文路径,欢迎大家私信交流~~