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