我有一个使用Gradle的多模块Groovy项目。我应用了jacoco、sonarqube插件。
我能够
但是没有向SonarQube报告代码覆盖率。
这是我的身材。格拉德尔
plugins {
id "org.sonarqube" version "2.0.1"
}
allprojects {
group = 'my'
version = '1.0-SNAPSHOT'
}
subprojects {
apply plugin: 'groovy'
apply plugin: "jacoco"
dependencies {
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.1'
testCompile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.4'
testCompile group: 'org.assertj', name: 'assertj-core', version: '2.4.1'
}
}
在构建期间,我观察到以下日志语句。
No binary directories defined for project core.
Project coverage is set to 0% since there is no directories with classes.
然后我尝试在子项目或所有项目中添加以下内容,但仍然没有向SonarQube报告覆盖情况。
sonarqube {
properties {
property "sonar.groovy.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.binaries", "${project.buildDir}/classes"
property "sonar.groovy.binaries", "${project.buildDir}/classes"
}
}
如何向SonarQube报告Jacoco Groovy代码覆盖率?
你可能已经看到了我在与同样的问题作斗争时的评论。
我找到了groovy插件的站点,其中报告了一个问题,如下所示:
声纳。非常棒。对于根项目,二进制文件只解析一次。在多模块项目中,如果属性未在根模块上定义,而仅在叶模块上定义,则会导致缺少覆盖率信息。
https://github.com/SonarQubeCommunity/sonar-groovy/issues/52
因此,即使是为您的模块设置的:
“:myspecialsubmodule.sonar.groovy.binaries”-
它不会工作,直到它的根设置。
在根上设置配置后(目前,直到问题得到解决)让它为我工作。
property "sonar.groovy.binaries", "${project.buildDir.name}${File.separator}classes"
我将跟踪github问题,以了解何时可以删除此解决方法。
问题内容: 我们有一个包含大量JavaScript文件的Jenkins作业。我们通过grunt构建项目,并在构建结束时运行JSCover来运行单元测试并收集代码覆盖率。一切正常。我们得到一个不错的LCOV文件。 现在,我们想将LCOV文件上传到Sonar,但我不确定该怎么做。我们正在从詹金斯(Jenkins)建立我们的项目,这是一个自由样式项目。 我尝试使用声纳的各种项目属性,但没有爱: 我怀疑问
问题内容: 我正在使用声纳来衡量代码质量。我不知道的一件事是使用Cobertura测量代码覆盖率的步骤。 我按照http://cobertura.sourceforge.net/anttaskreference.html中的步骤进行操作,并且能够生成xml文件。如何将这些xml文件放入SONAR? 有没有在SONAR中使用Cobertura的简便方法? 我在与SONAR服务器不同的服务器上运行代码
免责声明初学者问题! 为了回答这个问题,我的项目结构高度简化,如下所示: 在阅读了Jeff Knupp关于单元测试的博客文章并写了一系列测试之后,我想看看我的代码现在被测试覆盖了多少。所以我安装了coverage.py,以下内容让我困惑: $coverage运行main。py(显示脚本中的打印/日志) $覆盖报告main.py 姓名、Stmts、小姐、封面 主要的py,114,28,75% 问题是
我正试图用声纳和詹金斯来覆盖代码。我看到Jenkins的Sonar插件成功地执行JUnit测试用例并成功完成构建。但Sonar不会在项目上显示代码覆盖率结果(始终显示代码覆盖率为0.0%)。但声纳显示“单元测试成功”。 我用Maven和Jenkins还有Sonar 我在执行声纳插件时,在Jenkins日志中得到以下消息: 有谁能帮助我在任何声纳项目中获得正确的代码覆盖率吗。
当运行Gradle的Jacoco插件时,我在一组选定的类上得到零代码覆盖率报告。我已经确认测试这些类的所有单元测试都已成功运行。 非常有趣的是,EclEmma在Eclipse中生成了正确的代码覆盖率结果。我已经确认这两个工具使用的是相同版本的Jacoco。 我想知道这两种工具的区别是什么?我需要Gradle Jacoco插件的额外配置吗。 编辑:我的Gradle Jacoco输出显示“com类的执