【发布时间】:2013-12-20 22:02:00
【问题描述】:
我在声纳之外使用 cobertura 生成了覆盖率报告,并希望“重用”它们并将它们导入声纳。这可能吗?
声纳 3.73 Sonar-Runner 2.3
sonar.projectKey=org.me:artifactname
sonar.projectName=Project Name
sonar.projectVersion=1.0
sonar.sources=src/groovy, grails-app
sonar.language=grvy
sonar.sourceEncoding=UTF-8
sonar.tests=test/unit
sonar.dynamicAnalysis=reuseReports
sonar.core.codeCoveragePlugin=cobertura
sonar.cobertura.reportPath=target/test-reports/cobertura/coverage.xml
sonar.surefire.reportsPath=target/test-reports
sonar.grvy.coveragePlugin=cobertura
coverage.xml 文件确实存在并且位于该路径中。我已经检查了 100 次。
在声纳中填写了单元测试成功信息,但单元测试覆盖率是一个破折号,并且是空白的。
其他的都填好了,复杂度,代码行数......
这是输出的一部分。
15:47:10.837 INFO - Load module settings
15:47:11.085 INFO - Quality profile : [name=Sonar way,language=grvy]
15:47:11.103 INFO - Excluded tests:
15:47:11.104 INFO - **/package-info.java
15:47:11.143 INFO - Configure Maven plugins
15:47:11.176 INFO - Compare to previous analysis (2013-12-20)
15:47:11.210 INFO - Compare over 30 days (2013-11-20, analysis of 2013-12-19 15:41:26.0)
15:47:11.219 INFO - Compare to previous version
15:47:11.648 INFO - Base dir: /Users/Shared/Jenkins/Home/jobs/Grails-Sample-Master/workspace
15:47:11.648 INFO - Working dir: /Users/Shared/Jenkins/Home/jobs/Grails-Sample-Master/workspace/.sonar
15:47:11.648 INFO - Source dirs: /Users/Shared/Jenkins/Home/jobs/Grails-Sample-Master/workspace/src/groovy
15:47:11.648 INFO - Source encoding: UTF-8, default locale: en_US
15:47:11.662 INFO - Sensor GroovySourceImporter...
15:47:11.761 INFO - Sensor GroovySourceImporter done: 99 ms
15:47:11.761 INFO - Sensor CpdSensor...
15:47:11.761 INFO - SonarBridgeEngine is used
15:47:11.763 INFO - Cross-project analysis disabled
15:47:11.840 INFO - Sensor CpdSensor done: 79 ms
15:47:11.841 INFO - Sensor GroovySensor...
15:47:12.855 INFO - GMetrics completed: 591ms
15:47:12.879 INFO - Sensor GroovySensor done: 1038 ms
15:47:12.879 INFO - Sensor Groovy SurefireSensor...
15:47:12.881 INFO - parsing /Users/Shared/Jenkins/Home/jobs/Grails-Sample-Master/workspace/target/test-reports
15:47:12.978 INFO - Sensor Groovy SurefireSensor done: 99 ms
15:47:12.978 INFO - Sensor InitialOpenIssuesSensor...
15:47:12.983 INFO - Sensor InitialOpenIssuesSensor done: 5 ms
15:47:12.983 INFO - Sensor ProfileSensor...
15:47:12.993 INFO - Sensor ProfileSensor done: 10 ms
15:47:12.993 INFO - Sensor ProfileEventsSensor...
15:47:13.019 INFO - Sensor ProfileEventsSensor done: 26 ms
15:47:13.019 INFO - Sensor ProjectLinksSensor...
15:47:13.028 INFO - Sensor ProjectLinksSensor done: 9 ms
15:47:13.029 INFO - Sensor VersionEventsSensor...
15:47:13.041 INFO - Sensor VersionEventsSensor done: 12 ms
15:47:13.041 INFO - Sensor org.sonar.plugins.artifactsize.ArtifactSizeSensor@52156251...
15:47:13.041 INFO - The file null does not exist
15:47:13.041 INFO - Sensor org.sonar.plugins.artifactsize.ArtifactSizeSensor@52156251 done: 0 ms
15:47:13.470 INFO - Execute decorators...
想法。
【问题讨论】:
-
这可能是以下线程中描述的情况:forums.gradle.org/gradle/topics/…。 jira.codehaus.org/browse/SONARPLUGINS-2127 的解决方法是使用来自 github.com/Spantree/sonar-groovy 的 Sonar Groovy 插件的修补版本。
-
不幸的是,他们的插件没有变化。必须有人以可重现的方式进行这项工作。
-
您确定您使用的是 Spantree 存储库中的快照版本(将内置 -1.0-spantree-SNAPSHOT.jar 复制到您的声纳扩展目录中)?您是否注意到日志中的 Cobertura 传感器?如果该版本没有变化,您可以在 SONARPLUGINS-2127 中发表评论,告诉作者仍然有问题。
-
使用生态系统 jars 1.4 和 sonar-groovy-plugin-1.0-spantree-SNAPSHOT.jar 全新安装 sonar 3.7.4。没有测试结果或覆盖结果。 sonar-project.properties 的源目录为 data.sonar.sources=grails-app/domain,grails-app/conf 如果我使用 data.sonar.sources=grails-app 运行,那么我会得到测试数据(单元测试成功百分比)但仍然没有覆盖(单元测试覆盖)。
-
好的,我在运行 sonar-runner 之前运行 mvm clean。呃。 (对于那些在家玩的人,您不想在生成报告后清理它们)。双呸!我必须运行 grails test-app -coverage -xml,然后运行 sonar-runner。
标签: grails groovy sonarqube cobertura