公司现在要求写单元测试并且方法的覆盖率要达到百分之百。
曾经写单元测试一般就是在工程目录
test
文件中写接口的单元测试能测通就行了,但是现在需要统计覆盖率,
idea
自带的有测试覆盖率的插件,就在
idea
启动项里面。
本来
service
中只有
五
个公共方法,
三
个私有方法,并且在都写了测试用例,而且全部都跑通了,跑没跑到方法可以通过代码左边的颜色提示进行区分,默认红色是没有跑过的代码,绿色是已经跑过的代码。
我在
idea
自带的统计页面中查看,发现确实有
八
个方法覆盖到了,但是这个类一共有
九
个方法,然后我数了好几遍都没有搞明白。
然后找到另外一个统计覆盖率的工具
jacoco
,使用
jacoco
重新统计了一下,通过提供的
ui页面
终于找到了问题所在。
jacoco
这里可以很明显看到除了我文件中的
八
个方法还统计了一个
构造函数
。
现在假设我用
idea
自带的统计覆盖率工具统计的时候把无参构造函数统计进去了,但是我没有写无参构造函数的测试用例,所以才会出现明明只有
八
个方法,统计的时候会有
九
个方法的原因。
那么是不是可以修改
idea
检测代码覆盖率的工具为
jacoco
就可以解决这个问题了。
修改idea检测代码覆盖率工具
修改步骤:run -> Edit Configurations
测试是否成功
ok,成功在统计代码覆盖率忽略掉无参的构造函数。