zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

ampIDEA 出现 路径 测试工具 100% 后面 methods
2023-09-14 09:14:52 时间

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。这样就会只扫描选中的类的代码覆盖率。