我正在尝试将我的配置从旧的gradle'sonar'插件转换为gradle 1.5的新gradle'sonar-runner'插件。
自从我切换到声纳 - 跑步者插件后,声纳不再重复使用我的cobertura coverage.xml来计算单元测试覆盖率。我在sonar-runner user guide中找不到任何显示如何配置它的示例。以前我使用sonar.project.coberturaReportPath来指定我的coverage.xml的位置。
我的声纳实例是v.3.4。我正在使用gradle cobertura插件来生成我的coverage.xml。
这是我的声纳 - 跑步者配置:
sonarRunner {
sonarProperties{
property "sonar.host.url", "http://sonar"
property "sonar.jdbc.url", "jdbc:mysql://sonar:3306/sonar"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.username", "username"
property "sonar.password", "password"
property "sonar.language", "grvy"
property "sonar.coberturaReportPath", file("$buildDir/reports/cobertura/coverage.xml") //not sure if this is right!
}
}
这是我的旧声纳配置(有效!):
sonar {
server {
url = "http://sonar"
}
database {
url = "jdbc:mysql://sonar:3306/sonar"
driverClassName = "com.mysql.jdbc.Driver"
username = "username"
password = "password"
}
project {
language = "grvy"
coberturaReportPath = file("$buildDir/reports/cobertura/coverage.xml")
}
}
答案 0 :(得分:2)
您必须确保使用正确的声纳属性。来自http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project:
sonarRunner {
...
sonarProperty "sonar.java.coveragePlugin", "cobertura"
sonarProperty "sonar.cobertura.reportPath", file(...)
}
答案 1 :(得分:1)
我正在使用:
我无法正常工作。 Sonar显示的是“ - ”而不是覆盖代码的百分比。
我发现这个JIRA应该在Sonar Groovy Plugin 1.0中修复,如果您遇到与我相同的问题并且1.0已经发布,则更新可能会解决问题。
或者,this topic中讨论了一种解决方法:
mvn install
项目的根目录中解压缩并构建(sonar-groovy-master
)sonar-groovy-plugin-1.0-spantree-SNAPSHOT.jar
复制到Sonar安装目录的extensions/plugins
子目录中sonar-groovy-plugin-0.6.jar
gradle sonarRunner