相关文章推荐
仗义的登山鞋  ·  fatal error lnk1000: ...·  3 月前    · 
深沉的小熊猫  ·  SQL ...·  10 月前    · 
威武的刺猬  ·  Laravel使用Eloquent ...·  1 年前    · 
文章收录在我的 GitHub 仓库,欢迎Star/fork: Java-Interview-Tutorial https://github.com/Wasabi1234/Java-Interview-Tutorial jacoco是一个开源的覆盖率工具,通过插桩方式来记录代码执行轨迹. ant是构建工具,内置任务和可选任务组成的.Ant运行时需要一个XML文件(构建文件)。

云栖号: https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

全是干货的技术殿堂

文章收录在我的 GitHub 仓库,欢迎Star/fork:

Java-Interview-Tutorial

https://github.com/Wasabi1234/Java-Interview-Tutorial

jacoco是一个开源的覆盖率工具,通过插桩方式来记录代码执行轨迹.

ant是构建工具,内置任务和可选任务组成的.Ant运行时需要一个XML文件(构建文件)。

1 覆盖率软件对比

  • 配置jacocoagent参数,启动服务
  • 生成 jacoco.exec
  • ant 构建生成覆盖率报告
  • 3 启动jcocoagent

    javaagent:javaagent是JDK 1.5以后引入的,也可以叫做Java代理.
    后面跟的参数是jcocoagent的jar包地址.

  • includes:包含在执行分析中的类名列表,*表示全部
  • output:表示使用tcpserver代理侦听由address和port属性指定的TCP端口,并将执行的数据写入此TCP连接,从而实现不停止项目运行实时生成代码覆盖率报告
  • port:开启的端口号
    address: 开启的ip地址,本地写127.0.0.1
  • jar:运行服务的jar包地址
    java -javaagent:/fs/jacocoagent.jar=includes=*,output=tcpserver,port=8888,address=127.0.0.1

    4 生成报告

    • ant dump

      生成"jacoco.exec"

      • ant report

        5 打开"index.html"报告,展示类的覆盖率文件

        什么方法级别覆盖率你都还不满足,想看到底哪行代码覆盖到了?
        那你得知道这有多坑了,最基本的配置是做不到的,我们还需要配置自己的 class 文件路径和源码路径!

        • 注意要具体到 class 目录和 java 目录!,即 com 目录的上一级目录,就能完美展示源码的覆盖率情况了
        • 绿色的为行覆盖充分
        • 红色的为未覆盖的行
        • 红色菱形的为分支全部未覆盖
        • 黄色菱形的为分支部分覆盖
        • 绿色菱形为分支完全覆盖
        • 6 测试报告过滤

          方案分两种

        • 在jacoco配置中过滤
        • 在class文件夹中删除掉无用的class文件
          该方案不可逆,如果在统计完某一个moudel的覆盖率,之后在统计其他moudel的时候就无法直接实现;处理规则比较麻烦,与现有框架不好结合
        • 下面介绍第一种方案主要修改build文件的配置:
          主要在 exclude 这个标签里面过滤,如果大块排除,也可以在指定classfilepath的时候过滤。

          基操到此结束!入门完毕,开始愉快的高级玩耍与自行适配优化吧~

          云栖号在线课堂,每天都有产品技术专家分享
          立即加入圈子: https://c.tb.cn/F3.Z8gvnK
          与专家面对面,及时了解课程最新动态!

          原文发布时间:2020-03-17
          本文作者:javaedge
          本文来自:“ 阿里云云栖社区 ”,了解相关信息可以关注“ 阿里云云栖社区

          Java代码覆盖率框架JaCoCo的core-instr core.internal.instr 包类源码解析(下)
          Java代码覆盖率框架JaCoCo的core-instr core.internal.instr 包类源码解析(下)
          Java代码覆盖率框架JaCoCo的core-instr core.internal.instr 包类源码解析(上)
          Java代码覆盖率框架JaCoCo的core-instr core.internal.instr 包类源码解析(上)
          原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。
          Java实现图书管理系统
          本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
          Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
          如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面