[英]unable to reach 100% code coverage in sonar for my gradle multiproject + java + groovy + clover + sonarqube
我用源,测试和配置创建了一个简单的方案。 我目前无法在Sonar中达到100%的代码覆盖率,即使应该如此。 (链接到资源库-https: //bitbucket.org/sloukam/gradle-multiproject-coverage-sonar/src )
花了很多时间后,我无法在本地的Sonar中看到100%的代码覆盖率。 我非常感谢帮助实现100%代码覆盖率的目标。 我的项目结构可能吗? 还有其他覆盖插件吗?
首先,您当然应该重新考虑在与源文件相同的目录中进行测试。 出于未来的考虑,我将测试隔离在另一个目录中。 此外,如果您的测试与您的源一起进行,则它们将被视为源文件。 因此,您需要对测试进行测试,并对测试进行测试,...无限制。
但是,除此之外,Grail Quest是100%的覆盖率。 坚持高标准是一件好事,但在某些时候,您违反了收益递减法则。 相反,我将要求设置为... 90%? 92%? 95%?
sonar.jacoco.reportPaths
它接受多个报告文件并将其合并。 在较低版本的SonarQube中,您可能必须使用JacocoMerge
将单元测试报告和集成测试报告文件合并为一个。 在我们的项目中,我添加了以下任务:
任务jacocoMerge(type:JacocoMerge){子项目{子项目-> executionData fileTree(subproject.buildDir).include(“ / jacoco / *。exec”)}}
生成的报告文件将所有模块上的所有报告合并到projectRoot/build/jacoco/jacocoMerge.exec
。 现在,您可以将要分析的所有模块的此文件的绝对路径用作sonar.jacoco.reportPath
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.