博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jacoco远程统计代码覆盖率
阅读量:5327 次
发布时间:2019-06-14

本文共 2840 字,大约阅读时间需要 9 分钟。

Jacoco
 
什么是Jacoco?
Jacoco是一个开源的Java代码覆盖率工具
Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins等。
 
Jacoco远程统计tomcat服务的代码覆盖率
 
软件安装
Ant
Jacoco
 
Ant 
安装步骤
由于服务器上已经安装了Ant,所以没有亲自安装过在Linux服务器上,百度上有好多文章,可以搜一下,下面就给出一个参考链接
 
Jacoco安装步骤
下载下来,随意放在一个目录,解压
在官网上下载Jacoco,官网地址:http://eclemma.org/jacoco/
wget 
unzip jacoco-0.7.6-20151002.081900-29.zip
 
Tomcat配置
1、进入你需要统计代码覆盖率的tomcat  
cd /home/work/tomcat_8998_launch_feed_1/bin
2、先关闭这个tomcat的服务
正常情况下可以直接执行  ./shutdown.sh
执行结束后 ps -ef|grep 端口号 查看是否已经正常关闭,如果还没有关闭 kill -9 pid(来源于ps的结果)
3、修改 catalina.sh  的JAVA_OPTS配置
JAVA_OPTS="$JAVA_OPTS -javaagent:/home/work/zj/jacoco/lib/jacocoagent.jar=includes=*,output=file,append=true,destfile=/home/work/zj/jacoco/target/jacoco.exec"
具体参数的意思请查看官方文档
4、启动服务 ./startup.sh
5、查看一下JAVA_OPTS是否有修改正确,我掉在这个坑里了,有一种情况是你把JAVA_OPTS写在前面,在后面被别人的覆盖了
ps -ef|grep 端口号 看出来的结果有没有刚才你修改的值
 
 
Ant配置
随意进入一个目录新建build.xml,build.xml见附件
1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 24
25
26
27
28 29
32 33
34
35
36 37
40 41
42
43
44 45
46
47
48
49 50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 77 78
79
80
View Code

 

需要注意的点:
1、需要上传源代码到服务器 
2、如果你的web工程里面还引入了别的工程,例如你现在tomcat所部署的war包只是web的入口,实际的逻辑,模型等都作为jar包放在这个工程的lib里面的时候,
此时你又要统计这些逻辑模型的代码覆盖率,那么你需要做的是:1、把lib中你需要统计覆盖率的jar包解压出来;2、把jar包对应的源代码上传上去;3、build.xml中
structure下面建立多个group,对应的源文件和类文件也要新增进去;
 
 
覆盖率报告
1、由于我使用的是file的方式,因此需要获得覆盖率的话,需要shutdown tomcat,执行./shutdown.sh ,如果不行的话,执行kill但是千万不能执行kill -9
执行完kill后,会把覆盖率dump到jacoco.exec
2、在build.xml所在的目录执行ant report将会把报告输出到相应的目录下面
3、在报告所在的目录直接打开index.html将会看到所有的覆盖率,如果想在线查看report的话,可以在nginx或者tomcat下搭建
 
 
参考文档
http://www.ibm.com/developerworks/cn/java/j-lo-jacoco/
http://wiki.baidu.com/pages/viewpage.action?pageId=120657837
sonar的安装

转载于:https://www.cnblogs.com/chenfengmugu/p/4937257.html

你可能感兴趣的文章
zoj 3599 Game 博弈论
查看>>
App接口如何保证安全
查看>>
asp.net状态服务文章阅读
查看>>
Response.End方法
查看>>
NYOJ 49 开心的小明(01背包)
查看>>
C# FTP 命令无法获取ServerU目录列表问题
查看>>
POJ-1191 棋盘分割 记忆化搜索
查看>>
原生ajax封装
查看>>
Entity Framework 5.0基础系列
查看>>
编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]
查看>>
MongoDB Windows环境安装及配置
查看>>
第三次作业-陈志艺
查看>>
<q> 与 <blockquote> 的区别
查看>>
SQL注射技术总结文档
查看>>
第四次作业总结
查看>>
centos6 挂载ntfs格式移动硬盘
查看>>
在Sqlite中通过Replace来实现插入和更新
查看>>
手机端 H5上传头像
查看>>
配置generatorConfig.xml自动生成的代码的sql书写问题
查看>>
docker-简单操作
查看>>