概要点罗列:
云虚拟机放置radar的jar包和解压后的包(jar包用于命令行启动项目,解压包用于jacoco插桩采集数据)
1、linux下载1.9.15版本的ant,安装。执行 ant -version查看
2、将ant和jacoco上传至统一服务器路径 最好是项目根目录下
3、build.xml修改对应配置,传到ant的bin目录下
4、命令行启动radar.jar(不用tomcat,直接radar.jar当前目录启动),修改javaagent为jacoco所在虚拟机的路径,address为虚拟机ip
5、npm run serve启动前台
6、ant的bin的目录下,生成ant可执行文件和report
==========================================================
基于云虚拟机+jacoco+ant生成代码覆盖率报告
本次研究基于云虚拟机的代码覆盖率落地的项目,把自己的经历记录下来供大家参考,也欢迎有想法的互相交流。覆盖率报告支持服务停止、重启累加记录,不会因为项目部署而导致历史覆盖率报告清空。但切忌清空report下的文件,会导致历史覆盖率报告丢失~
##废话少说,直接上干货
云虚拟机上准备一套测试环境
1、关于项目代码:着手研究的项目系前后端分离,所以需要分别获取到能成功启动的完整前端代码和后台代码,以便后续能在云虚拟机环境成功部署。
2、关于工具及jar包生成:建议使用IntelliJ IDEA 2018.1.8 (Community Edition)、官网下载jacoco-0.8.6、官网下载apache-ant-1.9.15(配套jdk的1.8版本)
3、云虚拟机的环境配置:java环境配置、ant环境配置(环境配置直接网上一搜一箩筐),记得配置完后查看java -version和ant -version是否配置成功。
4、修改参数配置:ant/bin/build.xml配置对应参数、前端项目的vue.config.js修改ip和port
5、命令行启动项目:前后端启动、ant dump、ant report
6、获取覆盖率报告
1、关于项目代码
因为项目是前后端分离的,所以就需要分别获取到能成功启动的完整前端代码和后台代码,以便后续能在云虚拟机上成功部署。
2、关于工具及jar包生成
2.1、建议官网下载使用IntelliJ IDEA 2018.1.8 (Community Edition)版本、官网下载jacoco-0.8.6版本、官网下载apache-ant-1.9.15。(建议放在项目根目录下)
2.2、idea工具导入maven,如下图所示。修改【…/start】-pom.xml的packaging字段为jar(目的是生成jar包)。找到start-lifecycle,双击【clean】-【compile】-【package】,生成的*.jar包在target同级目录下
3、环境配置
3.1、java环境配置:linux配置成功后,输入java -version
3.2、ant环境配置:参考【https://blog.csdn.net/qq_35195359/article/details/117946814】。配置成功后,输入ant -version
4、修改配置参数
4.1、进入linux对应ant路径下修改build.xml文件部分参数内容,改成云虚拟机的对应文件所在路径。
4.2、因为项目是前后端分离的,所以需要修改前端js文件的代理。项目跟目录统计下的文件【vue.config.js】,修改target为云虚拟机ip+后端项目port。其中的port为后端项目的port,而非登录页面显示的端口号。
5、命令行启动项目
经过前面步骤1~4之后,已经是万事俱备只欠东风了。就剩下启动前后端项目,接着获取覆盖率报告了。
5.1、执行后端命令启动后端项目:
进入云虚拟机环境的后端项目包同目录,输入启动命令。javaagent为jacocoagent包在虚拟机上的路径,address为云虚拟机ip地址
5.2、cmd执行前端命令行启动前端项目:(前端也可以放在虚拟机上启动,确保前后端都能成功启动即可)
进入【D:\questionnaire-score-admin】cmd快捷进入命令行窗口,输入命令npm run serve,启动成功就可以进入系统菜单了
【端口8082为随机生成,默认8080,非配置参数】
操作到这一步,差一脚就能登进大雄宝殿查阅代码覆盖率报告了
5.3、前后端项目启动成功后,页面任意操作进行代码分支覆盖,进入【build.xml所在bin目录】,输入【ant dump】,出现 BUILD SUCCESS标志,代码覆盖率exec文件生成成功。
【ant report】生成最终的代码覆盖率报告
6、获取覆盖率报告
将report整个文件下载到本地,进入jacoco-0.8.6的target文件夹,生成jacoco.exec文件,report为最终生成的覆盖率报告。双击index.html,查看代码覆盖率报告。