解决sonar的单元测试的覆盖率会为0问题

今天做项目遇到一个问题,明明做单元测试时覆盖率已经百分百了,然后传到Jenkin上,构建也成功了,但偏偏覆盖率就是为零,非常确定代码没有问题,所以唯一的问题就是出现在配置上了。

一开始的结果如下:

 Jenkin上面的配置如下:

一开始以为是我要扫描的包原因,所以我就在这下面把全部文件的路径都加上去了,结果却没有显示覆盖率了,进去深处一开,也是为零。

后来才知道

加了这些路径的意思是 sonar都不要扫描这些包,因为他和我们做的单元测试没有关系,因此这个配置是要加和单元测试无关的文件路径,之前我把和测试无关的文件全部加上了,sonar以为都不要读取这些文件,所以覆盖率自然就没有显示了。

回归正传,既然知道了问题出现在哪里,就针对他修改。

我把和单元测试有关的文件路径删除之后,覆盖率虽然显示出来了,但还是为零。所以修改了一下配置文件, 

修改成这样,但是有些人修改成这样的话,可能构建就会出现问题,但没关系,还有另外一种方法,就是在pom文件加下面这段代码:

 org.jacocojacoco-maven-plugin0.7.8prepare-agentreport

 具体是啥原因咋也不知道,都是百度解决的,咱也没搞清楚。

然后install一下,就会发现target目录下出现jacoco.exec这个jar包,出现这个之后,距离成功就是只剩下两步了:

1、重新提交代码到git上

2、去Jenkin上面重新构建

然后就会发现覆盖率出来了!!!

如下图:

以上,就是我遇到问题的解决方法了。 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部