Idea 类和包的路径后面出现100%methods;84% lines coveredIdea coverage覆盖率测试工具的使用

Idea 类和包的路径后面出现100%methods;84% lines covered

其他先不说,先看一下出现的问题:

img

类和包的路径后面多了100%methods;84% lines covered,以前类路径后面是什么都没的;

长话短说;

产生原因:

因为运行方法的时候无意中点到Debug按钮后面的Run ‘Client’ with coverage按钮,也就是这个按钮

img

解决方案:

1、再次点击Run ‘Client’ with coverage按钮,弹出下面的窗口后点击窗口中的 X 号即可;

img

2、快捷键Ctrl+Alt+F6弹出此界面,取消勾选即可。

img

解决后:

img

Idea coverage覆盖率测试工具的使用

絮叨

最近项目中,每次Build的时候会触发sonar程序去扫描代码,打出测试覆盖率,也就是coverage。如果不到80%以上,就要去补Test case。可是我们在开发中怎么知道写的unit test的coverage是多少呢?这就要靠Idea的工具了。Idea自带一个默认代码覆盖率工具。当然我们也可以配置第三方,比如jacoco。本章讲的是Idea自带覆盖率扫描工具的使用。

正文

  • 基于包级别的coverage。
    1. 首先找到我们写好的测试类,点击查看单元测试覆盖度。
      在这里插入图片描述
    2. 如下图所示,默认会在右侧出现Coverage的框。
      在这里插入图片描述
    3. 在里面打开某一个类后,可以看到哪些逻辑被覆盖到哪些逻辑没有被覆盖到,绿色的表示已经覆盖的地方,红色部分表示单元测试还没有覆盖的行。这样就方便我们在开发阶段去提高Coverage了。
      在这里插入图片描述
      大家也能看到,这样有个问题们就是基于包去扫描,如果我们的测试类很多,而我们只想看其中的几个的覆盖率,这样会花很多时间去扫描其他类上。所以我们可以通过配置的方法,让他只扫描一个类。
      在这里插入图片描述
  • 基于类级别的coverage
    1. 首先我们在Idea的上面找到Edit Configuration。
      在这里插入图片描述
    2. 在左上角点击新加,选择Junit。
      在这里插入图片描述
    3. 在新弹出的窗口Class处选择我们要运行的测试类
      在这里插入图片描述
    4. 在Tab处,选择Code Coverage。
      在这里插入图片描述
    5. 下面可以添加包和类,在右侧第一个加号,点击新家类,选择我们要扫面的类(此处选择的是测试类对应的类)。比如XXXServiceTest,在这里就选择XXXService。之后点击apply,点击ok。
      在这里插入图片描述
    6. 选择我们刚才配置的Junit,然后点击右面的Run ‘XXX’ with Coverage。
      在这里插入图片描述
    7. 可以在下面(右面)看到新弹出来的Coverage框,这次只有你刚才配置的类的Coverage。点击去也可以看到每一行的覆盖情况。
      在这里插入图片描述
      导出测试报告
      在这里插入图片描述
      点击如图所示按钮,可以导出测试报告,html格式

如下图所示:
在这里插入图片描述

总结

本文介绍了Idea自带的覆盖率工具,它可以帮我们在开发阶段去查看我们代码的覆盖率。
如果你想看某一个包的覆盖率情况,可以在test目录下选中要测试的包,选择Run test ‘XXX’ with Coverage。这样就会扫描选中包的代码覆盖率。
如果你只想看一个类的覆盖率的话,那就看第二种方法去配置一个Run configurations。这样就会只扫描选中的类的代码覆盖率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot:整合监听器/过滤器和拦截器

整合监听器/过滤器和拦截器 在实际开发过程中,经常会碰见一些比如系统启动初始化信息、统计在线人数、在线用户数、过滤敏/高词汇、访问权限控制(URL级别)等业务需求。实现以上的功能,都会或多或少的用到过滤器、监听器、拦截器。 一.SpringBoot整合过…

全国计算机英语四六级准考证打印准考证号,2017全国大学生英语四六级准考证打印...

2017年上半年度CET考试时间为6月17日,同学们打印准考证了吗?为方便大家打印四六级准考证,yjbys小编为大家分享英语四级考试准考证打印官方主页入口如下:2017年上半年度CET考试时间及报名方式一、考试科目及时间1.笔试考试时间日期(6月17日)考…

Centos7配置Jenkins

Centos7配置Jenkins jenkins 官方下载地址:https://mirrors.jenkins-ci.org/redhat/ maven 官方下载地址:https://archive.apache.org/dist/maven/maven-3/ tomcat 官方下载地址:https://tomcat.apache.org/download-90.cgi 1、配置jdk …

计算机硬盘用u盘维修,U盘装机大师修复磁盘坏道详细教程

我们都知道当我们的磁盘使用的时间久了就会容易出现各种问题,然而硬盘的坏道是最常见的问题之一。关于磁盘出现坏道有很多原因,诸如硬盘本身质量问题,老化,使用不当等等。我们的硬盘内存太小也会导致应用软件对硬盘频繁访问&#…

多屏幕炒股计算机配置,多屏幕股票交易计算机配置建议使用i59400F计算机主机配置(最多六个屏幕)...

在经历了几年的熊市股市之后,2019年股市似乎有所回升. 最近,许多用户询问多屏股票交易计算机的配置,例如三屏,四屏,和六屏. 实际上,与普通计算机的最大区别是该图形卡需要配备多屏幕图形卡. 一台计算机可以…

小学二年级上学期计算机教案,小学数学二年级上册分苹果教案设计

小学数学二年级上册分苹果教案设计〖教学目标1.经历分苹果等实际操作,初步体会有余数除法与生活的密切联系,进一步体会除法的意义。2.通过实际操作,抽象出有余数除法的书写格式,并体会余数一定要比除数小。〖教材分析分苹果是二年…

生物计算机的主要原材料是(),新材料为生物计算机打造“神经元”和“突触”...

一项最新研究利用复杂的氧化物,打造出了与神经元和突触相似的元件。图片来自pixabay.com虽然电脑的计算速度比人脑快,但在物体识别任务等方面,人脑还是更胜一筹。除此之外,人脑耗费的能量也远低于电脑。大脑的运作方式可以在一定程…

hotmail接收邮件服务器(pop),Microsoft微软邮箱 outlook、hotmail 打开pop和imap的方法

分享个微软邮箱 outlook、hotmail 打开pop和imap的方法只有打开了pop或者imap , foxmail一类的邮件管理客户端才能正常收邮件;打开了smtp才能正常发邮件。设置方法如图:1.登录进去账户以后,点击右上角的设置,齿轮图标&…

MySQL 索引 是如何提高 查询效率 的?

前言 我们都知道当查询数据库变慢时,需要建索引去优化。但是只知道索引能优化显然是不够的,我们更应该知道索引的原理,因为不是加了索引就一定会提升性能。那么接下来就一起探索MYSQL索引的原理吧 什么是索引 索引其实是一种能高效帮助MYS…

FreeMarker详细介绍

FreeMarker 1. 主要内容 2.FreeMarker概述 2.1. FreeMarker概念 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 是一个Java类…

SpringBoot整合Freemarker导出word文档表格

freemarker模板里面的template.process()方法里传入的第一个参数Object类型,如果是一个实体类对象在模板上怎么进行渲染,将实体类的值取出 freemarker会调用ObjectWrapper对传入的对象进行warp,具体类型在代码里面用instanceof进行判断。一般…

ambari 修改服务器名,Ambari修改主页面方法

分享下Ambari修改主页面方法,希望对大家有用。[roothdp159 ambari-web]# brunch watch --serverOct 10:22:43 - info: application started on http://localhost:3333/Oct 10:22:47 - info: compiled 891 files into 5 files, copied 260 in 3988msOct 10:23:12 - i…

快速向服务器传文件格式,客户端如何向服务器传文件格式

客户端如何向服务器传文件格式 内容精选换一换语音通话平台通过此接口向客户推送语音通话业务用户呼叫时的状态信息,如呼入、呼出、振铃、应答、挂机等状态的信息。语音通话平台(客户端) → 客户服务器(服务端)前提条件SP在开发应用时,若需订阅呼叫状态通…

MyBatis-Plus--解决逻辑删除与唯一索引的问题--方法/实例

文章目录简介问题复现依赖**建库建表**代码测试解决方案方案1:将字段设置为id(推荐)建库建表修改Entity测试方案2:将字段设置为当前时间(不推荐)建库建表修改Entity测试简介 说明 本文用示例介绍MyBatis-…

MybatisPlus 实体类与数据库表映射关系MybatisPlus:ORM思想

实体类与数据库表映射关系 使用mybatisPlus时,会确定实体类和数据的映射关系 具体的映射方法有两种 1、默认:采用驼峰映射规则 例如MyUserTable 对应的数据库表为 my_user_table ; TEMyUserTable 对应表名为t_e_my_user_table; 2、注解TableName 在…

Spring Boot——maven项目常用打包配置

文章目录一、简介二、pom.xml三、效果图3.1 所有的资源打包到指定的目录maven3.2 所有的配置文件都放到config目录3.3 所有的配置文件都不在jar里,防止敏感信息泄露结语一、简介 maven项目打包是我们程序员经常遇到的事,今天就来弄一个常用的打包方式&a…

史上最全ThreadLocal 详解

文章目录一、ThreadLocal简介二、ThreadLocal与Synchronized的区别三、ThreadLocal的简单使用四、ThreadLocal的原理4.1 ThreadLocal的set()方法:4.2 ThreadLocal的get方法4.3 ThreadLocal的remove方法4.4、ThreadLocal与Thread,ThreadLocalMap之间的关系…

Java递归构建树形结构

记录&#xff1a;在Java后台利用递归思路进行构建树形结构数据&#xff0c;返回给前端&#xff0c;能以下拉菜单等形式进行展示。 简明&#xff1a;为了简化代码&#xff0c;引入Lombok的Jar包&#xff0c;可省略实体类set()、get()方法。 <dependency><groupId>or…

HTTP状态码含义:428、429、431、511431状态码详解

1、428 Precondition Required (要求先决条件) ​ 先决条件是客户端发送 HTTP 请求时&#xff0c;必须要满足的一些预设条件。一个好的例子就是 If-None-Match 头&#xff0c;经常用在 GET 请求中。如果指定了 If-None-Match &#xff0c;那么客户端只在响应中的 ETag 改变后才…

Java 异常——Exception详解

异常的介绍 异常的概念 异常 &#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中&#xff0c;异常本身是一个类&#xff0c;产生异常就是创建异常对象并抛出了一个异常对象。Java处理…