jacoco初探

简介: # 背景  集团的代码覆盖率平台因为网络问题无法使用,只能自己研究下。 覆盖率是衡量自动化用例效果产品的一个指标,但只是一个辅助指标,覆盖率高并不意味着质量好,但覆盖率低却能说明一些问题,   # 对比 覆盖率工具的对比,直接引用资料: 有赞团队的博客: https://tech.

# 背景

 集团的代码覆盖率平台因为网络问题无法使用,只能自己研究下。

覆盖率是衡量自动化用例效果产品的一个指标,但只是一个辅助指标,覆盖率高并不意味着质量好,但覆盖率低却能说明一些问题,

 

# 对比

覆盖率工具的对比,直接引用资料:

有赞团队的博客: https://tech.youzan.com/code-coverage/

 

# 理解 

1. 结合业务形态,被测服务不能停止服务;

2. 通过javaagent方式去启动jacoco;

3. javaagent的方式可以用file,tcpserver、tcpclient三种模式,常用的是tcpserver格式

4. 挂载javagent后,可以利用ip:port来跟javaagent进行网络交互,生成exec文件,生成报告;

 

# 细节

1. jacoco官网:https://www.eclemma.org/jacoco/ 上去下载agent.jar包;

2. javaagent格式:

  -javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]
更多参数:https://www.jacoco.org/jacoco/trunk/doc/agent.html

 实际例子:-javaagent:/home/tools/jacocoagent.jar=includes=*,output=tcpserver,address=xxx.xxx.xx.xx,port=6300,append=true

3. 生成exec文件不局限于ant工具,其实底层还是通过tcp连接去访问;

4. 生成exce后需要解析成报告,比较麻烦,要有编译后的class文件也有要源码。最理解的状态应该是从服务器拿回本地来操作;

5. 实际落地: 被测服务挂载javaagent --》执行自动化用例 --》 生成exec文件 --》 解析生成报告(被测服务器上生成exec文件)

 

# 疑问

1. jacoco只支持时间段的代码覆盖率的统计,并不能细化到哪个方法/接口;

2. javaagent的tcpserver和tcpclient的区别是什么?翻阅文档基本上都是tcpserver的,没有用tcpclient的 

 

虽千万人,吾往矣!
目录
相关文章
|
Java
Checkstyle
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。 CheckStyle检验的主要内容 ·Javadoc注释 ·命名约定 ·标题 ·Import语句 ·体积大小 ·空白 ·修饰符 ·块 ·代码问题 ·类设计 ·混合检查(包括一些
1032 0
|
2月前
|
JavaScript Java Apache
【SpringBoot】Maven 版本管理与 flatten-maven-plugin 插件的使用及分析
【SpringBoot】Maven 版本管理与 flatten-maven-plugin 插件的使用及分析
186 0
|
4月前
|
XML Java 测试技术
Maven - "maven-surefire-plugin"的使用与跳过单元测试
Maven - "maven-surefire-plugin"的使用与跳过单元测试
101 0
|
4月前
checkstyle
checkstyle
31 0
|
7月前
|
Java Maven 开发者
又遇到maven jar包冲突了,如何快速解决
又遇到maven jar包冲突了,如何快速解决
122 0
|
8月前
|
Java fastjson Maven
解决项目版本冲突——maven-shade插件使用
解决项目版本冲突——maven-shade插件使用
|
Java
JavaFX使用maven-shade-plugin打成Jar包
JavaFX使用maven-shade-plugin打成Jar包
87 0
JavaFX使用maven-shade-plugin打成Jar包
|
Java Maven
JavaFx使用maven-jar-plugin打成jar包
JavaFx使用maven-jar-plugin打成jar包
218 0
JavaFx使用maven-jar-plugin打成jar包
|
SQL Java 关系型数据库
软件测试|SonarQube 安装、配置及 JaCoCo、Maven 集成
软件测试|SonarQube 安装、配置及 JaCoCo、Maven 集成
191 0
软件测试|SonarQube 安装、配置及 JaCoCo、Maven 集成
|
Android开发
Plugin execution not covered by lifecycle configuration: org.zeroturnaround:jrebel-maven-plugin:1.1.
Plugin execution not covered by lifecycle configuration: org.zeroturnaround:jrebel-maven-plugin:1.1.报错
Plugin execution not covered by lifecycle configuration: org.zeroturnaround:jrebel-maven-plugin:1.1.