解决idea自带单元测试方法覆盖率达不到百分之百

2,689 阅读2分钟

前言

公司现在要求写单元测试并且方法的覆盖率要达到百分之百。

曾经写单元测试一般就是在工程目录test文件中写接口的单元测试能测通就行了,但是现在需要统计覆盖率,idea自带的有测试覆盖率的插件,就在idea启动项里面。

image.png

问题

本来service中只有个公共方法,个私有方法,并且在都写了测试用例,而且全部都跑通了,跑没跑到方法可以通过代码左边的颜色提示进行区分,默认红色是没有跑过的代码,绿色是已经跑过的代码。

image.png

我在idea自带的统计页面中查看,发现确实有个方法覆盖到了,但是这个类一共有个方法,然后我数了好几遍都没有搞明白。 image.png 然后找到另外一个统计覆盖率的工具jacoco,使用jacoco重新统计了一下,通过提供的ui页面终于找到了问题所在。

image.png

jacoco这里可以很明显看到除了我文件中的个方法还统计了一个构造函数

解决办法

现在假设我用idea自带的统计覆盖率工具统计的时候把无参构造函数统计进去了,但是我没有写无参构造函数的测试用例,所以才会出现明明只有个方法,统计的时候会有个方法的原因。

那么是不是可以修改idea检测代码覆盖率的工具为jacoco就可以解决这个问题了。

修改idea检测代码覆盖率工具

修改步骤:run -> Edit Configurations

image.png

image.png

测试是否成功

image.png

ok,成功在统计代码覆盖率忽略掉无参的构造函数。