工作要搞覆盖率测试,看到公司平台上用的jacoco,就找了网上的demo自己跑了一下。

一.覆盖率测试是干什么的

http://www.open-open.com/lib/view/open1472174544246.html

  1.用来看看类/方法/判定 中的语句的使用情况,防止废弃无用的代码和错误代码出现。

  2.用来和需求覆盖做一个对照,做用例和代码的一种映射检查,补齐一些用例的逻辑上的缺陷。

二.jacoco的原理

  jacoco提供两种插桩方式,on-the-fly 和offline两种,这两种的实现原理不同。

  参考:http://www.open-open.com/lib/view/open1472174544246.html

三.项目代码

  参考网址:https://www.eclemma.org/jacoco/trunk/doc/maven.html

  pom部分

  1. <dependency>
  2. <groupId>org.jacoco</groupId>
  3. <artifactId>jacoco-maven-plugin</artifactId>
  4. <version>0.8.3</version>
  5. <type>maven-plugin</type>
  6. </dependency>

  

  1. <plugin>
  2. <groupId>org.jacoco</groupId>
  3. <artifactId>jacoco-maven-plugin</artifactId>
  4. <version>0.8.3</version>
  5. <!--
  6. <configuration>
  7. <includes>zhizhi</includes>
  8. </configuration>
  9. -->
  10. <executions>
  11. <execution>
  12. <id>default-prepare-agent</id>
  13. <goals>
  14. <goal>prepare-agent</goal>
  15. </goals>
  16. </execution>
  17. <execution>
  18. <id>default-prepare-agent-integration</id>
  19. <goals>
  20. <goal>prepare-agent-integration</goal>
  21. </goals>
  22. </execution>
  23. <execution>
  24. <id>default-report</id>
  25. <goals>
  26. <goal>report</goal>
  27. </goals>
  28. </execution>
  29. <execution>
  30. <id>default-report-integration</id>
  31. <goals>
  32. <goal>report-integration</goal>
  33. </goals>
  34. </execution>
  35. <execution>
  36. <id>default-check</id>
  37. <goals>
  38. <goal>check</goal>
  39. </goals>
  40. <configuration>
  41. <rules>
  42. <rule>
  43. <element>BUNDLE</element>
  44. <limits>
  45. <limit>
  46. <counter>COMPLEXITY</counter>
  47. <value>COVEREDRATIO</value>
  48. <minimum>0.60</minimum>
  49. </limit>
  50. </limits>
  51. </rule>
  52. </rules>
  53. </configuration>
  54. </execution>
  55. </executions>
  56. </plugin>

  执行mvn语句

  1. mvn install

  在 target/site/jacoco 中可以看到report

最后,自有平台的jacoco的实际实现过程

jacoco+maven 初次使用覆盖率工具的更多相关文章

  1. jacoco+maven生成单元测试覆盖率报告

    参考:https://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-in ...

  2. Jacoco覆盖率工具使用之maven篇

    说明 之前的文章已经介绍过如何使用apacheant 执行jacoco工具,下面开始介绍如何使用maven使用jacoco工具. 1.首先新建一个maven项目       如图所示:        ...

  3. Jacoco覆盖率工具使用调研

    JaCoCo Java Code Coverage Library Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...

  4. Jacoco覆盖率工具使用

    Jacoco介绍 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第 ...

  5. [转载] JaCoCo:分析单元测试覆盖率的利器

    转载自http://www.ibm.com/developerworks/cn/java/j-lo-jacoco/和http://www.cnblogs.com/chenfengmugu/p/4937 ...

  6. jacoco 生成单测覆盖率报告

    一.jacoco 简介 jacoco 是一个开源的覆盖率工具,它针对的开发语言是 java.其使用方法很灵活,可以嵌入到 ant.maven 中:可以作为 Eclipse 插件:可以作为 javaAg ...

  7. 在jenkins和sonar中集成jacoco(一)--使用jacoco收集单元测试的覆盖率

    之前系统的持续集成覆盖率工具使用的是cobetura,使用的过程中虽然没什么问题,但感觉配置比较麻烦,现在准备改用jacoco这个覆盖率工具来代替它.接下来我介绍一下jenkins配置jacoco,并 ...

  8. Java測试覆盖率工具----Cobertura,EclEmma

    Cobertura 是一个与Junit集成的代码覆盖率測量工具 它是免费.开源的 它能够与Ant和Maven集成.也能够通过命令行调用 能够生成HTML或XML格式的报告 能够依照不同的标准对HTML ...

  9. 使用JaCoCo Maven插件创建代码覆盖率报告

    这篇博客文章描述了我们如何使用JaCoCo Maven插件为单元和集成测试创建代码覆盖率报告. 我们的构建要求如下: 运行测试时,我们的构建必须为单元测试和集成测试创建代码覆盖率报告. 代码覆盖率报告 ...

随机推荐

  1. 前端入门24-响应式布局(BootStrap)

    声明 本篇内容摘抄自以下两个来源: BootStrap中文网 感谢大佬们的分享. 正文-响应式布局(BootStrap) 这次想来讲讲一个前端开发框架:BootStrap BootStrap 目前已经 ...

  2. java 线程池 ---- newCachedThreadPool()

    class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = inde ...

  3. java 线程方法 ---- wait()

    class MyThread5 implements Runnable{ private int flag = 10; @Override public void run() { while (fla ...

  4. C# 利用键值对取代Switch...Case语句

    swich....case 条件分支多了之后,会严重的破坏程序的美观性. 比如这个 上述代码是用于两个进程之间通信的代码,由于通信的枚举特别的多,所以case的分支特别的多.导致了代码的可读性,可维护 ...

  5. 一种解决Android studio 3.0 Build报错的方法

    问题背景: 最近在开始使用AndroidStudio3.0,刚好有一个开源的项目(Material-Movies),需要学习下.因为该项目比较早(2015年),而这段时间AndroidStudio和G ...

  6. webstorm2018.1 汉化

    https://github.com/pingfangx/TranslatorX 这个百度云 选择webstorm 选择勾选的文件 选择你下载webstorm 的版本 我下载的是2018.1的 之后等 ...

  7. [20190419]shared latch spin count 2.txt

    [20190419]shared latch spin count 2.txt --//上午测试shared latch XX模式的情况,链接:http://blog.itpub.net/267265 ...

  8. Java 控制结构与方法

    控制结构: 控制结构是对我们程序执行顺序的一种控制,它规定了我们语句块的执行顺序和流程. 分支结构: 关系运算符和逻辑运算符: 关系运算符:== != > >= < <=逻辑运 ...

  9. Hybrid App—Hybrid App开发模式介绍和各种开发模式对比

    什么是Hybrid App 最开的App开发只有原生开发这个概念,但自从H5广泛流行后,一种效率更高的开发模式Hybrid应运而生,它就是"Hybrid模式".Hybrid APP ...

  10. Effective C++ 第0章 explicit构造函数

    按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class String { String ( const char* p ); ...