Jacoco的On-Fly模式的配置
结果展示的工具
Jekins:代码集成工具,其中的插件Jacoco plugin可以根据.exec文件直接生成覆盖率报告,并在Jenkins中生成图表等。
Sonar:一个管理代码质量的开放式平台,可以用于做覆盖结果展示,可以具体看到覆盖到哪些源代码,做用例调整参考。
EclEmma:Eclipse的插件,可以用于做覆盖结果展示,可以具体看到覆盖到哪些源代码,做用例调整参考。它严格要求执行时的class文件与展示用的class文件一模一样,比较适合白盒用例测试。
一、安装jacoco步骤
1.下载并安装jacoco jar包环境
jacoco配置包地址:
http://eclemma.org/jacoco/index.html
选择最近更新的jacoco zip包即可
将jacoco-*-****.zip包放入自己所需目录并解压出来查看jacocoagent.jar所在目录
2.tomcat环境配置
找到tomcat环境路径:/usr/local/apache-tomcat-8.5.3/bin
Vim catalina.sh
修改如下:
配置参数如下:
"javaagent:/home/****/depo/jacoco/lib/jacocoagent.jar=includes=*,output=tcpserver,address=10.114.24.46,port=8544,append=true"
--javaagent配置jacocoagent.jar 文件的目录路径
--include:收集哪些类 如写.* 不写的话默认是*收集应用服务所有的类
--output:tcpserver类型可以在不停止应用服务的情况下下载覆盖率文件,file类型只有在停掉应用服务时候产生覆盖率文件
--address:IP地址(Tomcat服务器的ip地址)
--prot:端口随机不重复即可
【address 和 port是 tcpserver类型必须用到的两个参数 也是执行ant dump方法必须用到的】
3.配置完Javaagent参数后重启tomcat
Kill -9 对应id 进程
Cd /usr/local/apache-tomcat-8.5.3/bin(tomcat所在目录)
./startup.sh
Ps -e f | grep tomcat
如果在 Tomcat 服务中有 jacocoagent 这个服务且在第一位就成功了!
注意:有时候会遇到jacocoagent 不在第一位进程位置,需要调整参数配置让其第一位,因为
写在前面,在后面被别人的覆盖,覆盖后影响后续ant dump读取jacoco类path读取
二、配置Ant环境配置
1.从http://ant.apache.org 上下载tar.gz版ant
2.复制到你自己所需目录下如图参考:
tar -vxzf apahce-ant-1.9.2-bin.tar.gz
3.修改对应ant文件类的权限
chown -R yjdabc apahce-ant-1.9.13 改变权限
chown -R :users apahce-ant-1.9.13
chmod -R +x apahce-ant-1.9.13
4.修改系统配置文件
Vi /etc/profile
#set Ant enviroment
export
ANT_HOME=/usr/apache-ant-1.9.2
export
PATH=$PATH:$ANT_HOME/bin
如下图参考:
5.生效配置
source /etc/profile
6.测试ant是否生效
Ant -version
三、编辑生成build文件
需要改变参数如下图:
1.jacocoPath 路径为jacocoant.jar所在路径位置(一般在lib目录下)
2.jacocoexecPath路径为你自己定义jacoco.exec所在目录
3.reportfolderPath路径为你自己定义jacoco report目录
4.sever_ip对应在catalina.sh配置内的ip地址 端口一致
配置即可
四、使用Ant生成文件
1.将build.xml文件放入Ant所在目录下:
(build文件可以更改成任何名字 后续 ant -f 文件名.xml即可)
2.使用dump命令
Ant dump
Ant build 或者 ant
原因:由于ant文件的名称是build.xml,所以只需键入ant,而不使用antbuild.xml。
Ant report
至此覆盖率文件已经生成在report文件中,直接从服务器拷贝下report即可
五、查看report报告
类似如图:
几个踩坑地方:
1、由于ant文件的名称是build.xml,所以只需键入ant,而不使用antbuild.xml。
2、原因:vi ctatlina.sh修改完文件 它的权限会变更 需要
Chmod 777 ctatlina.sh赋予权限即可
六、Spring Boot类型安装Jacoco
基本安装流程与Tomcat一致
1、Spring Boot启动命令:
nohup java -javaagent:/home/****/depo/jacoco/lib/jacocoagent.jar=includes=*,output=tcpserver,address=10.114.24.46,port=8544,append=true -jar *.jar&
看到如下 java项目启动即可
注意!
此处执行java命令 需要在jar包所在路径 不然会报错(手误踩坑)
2、生成ant所需的build脚本
注意:此处有坑!在配置Javaagent时候springboot下的ip地址不能配置为127.0.0.1 build里面脚本也不能为127.0.0.1 配置为这样会在 ant dump时候 无法connect 服务器。
换成本机服务器IP地址即可。