首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在多模块项目中使用声纳转轮的集成覆盖。

无法在多模块项目中使用声纳转轮的集成覆盖。
EN

Stack Overflow用户
提问于 2014-02-15 23:56:24
回答 1查看 1.4K关注 0票数 3

我有一个多模块项目,并希望可视化集成代码覆盖与SonarQube。我能够生成test.exec和integTest.exec (JaCoCo),但是迫使声纳转轮(声呐-jacoco-plugin)使用它们有问题。声纳跑者报告:

项目覆盖率设置为0%,因为没有包含类的目录。

这对于根项目(生成integTest.exec的地方)来说是正确的,它没有源文件(但是它不应该成为集成覆盖率的问题)。我的配置:

代码语言:javascript
复制
(...)
sonar.dynamicAnalysis=reuseReports
sonar.jacoco.reportPath=build/jacoco/test.exec
sonar.jacoco.itReportPath=build/jacoco/integTest.exec
sonar.modules=mod1,mod2
sonar.sources=src/main/java,src/main/resources
sonar.tests=src/test/java,src/test/groovy,src/test/resources
sonar.binaries=build/classes/main,build/resources/main

这个项目是用Gradle构建的,但是由于CI的限制,我需要使用带有声纳转轮配置的sonar-project.properties (不是以前为我工作的Gradle的声纳转轮插件)。

更新。在分析了声呐-jacoco插件源代码之后,我尝试创建一个定义为二进制目录的目录,但不幸的是,声纳运行程序根本没有为根模块设置sonar.binaries属性。

我的问题。有没有一个解决办法,可以让我使用文件与集成覆盖数据在一个多模块项目与声纳运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-16 00:39:43

作为一个丑陋的解决方案,我能够将报表路径配置为:

代码语言:javascript
复制
sonar.jacoco.reportPath=../build/jacoco/test.exec
sonar.jacoco.itReportPath=../build/jacoco/integTest.exec

对于二级模块(模块mod1,它有自己的子模块mod1amod1b):

代码语言:javascript
复制
mod1.sonar.jacoco.reportPath=../../build/jacoco/test.exec
mod1.sonar.jacoco.itReportPath=../../build/jacoco/integTest.exec

尽管如此,这是非常容易出错,我希望其他人会有一个更好的想法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21805397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档