Jacoco报道了声纳 - 跑步者找不到的路径

时间:2015-07-13 16:40:08

标签: sonarqube jacoco sonar-runner

我使用EclEmma使用以下路径生成了覆盖率报告:

C:/tmp/coverageReport/report.exec

此文件存在,不为空且可读。 关于代码覆盖的我的sonnar-runner配置定义如下:

sonar.java.coveragePlugin=jacoco
sonar.junit.reportsPath=C:/tmp/coverageReport/report.exec

分析成功完成,但单元测试覆盖小部件中没有数据可见。

此外,我在分析过程中得到以下几行:

18:23:45.036 INFO  - parsing C:/tmp/coverageReport/report.exec
18:23:45.037 WARN  - Reports path not found: C:/tmp/coverageReport/report.exec

关于我缺少的任何想法?

1 个答案:

答案 0 :(得分:7)

sonar.junit.reportPath和sonar.jacoco.reportPath之间存在很大差异。你正在混淆价值观。

同样,还有sonar.jacoco.itReportPath(对于基于jaocco.exec文件的非单元测试,例如:jacocoIT.exec(如果您正在为集成测试创建)。

现在,根据sonarQube实例(4.x或最新5.xx)的版本,您可能需要将sonar.junit.reportPath或sonar.java.junit.reportPath设置为值(即文件夹)包含.xml数据)。

对于前:如果我的单元测试或集成测试文件夹的结果文件(.xmls)位于文件夹build / test-results / UT文件夹中,则:

sonar.java.junit.reportPath=build/test-results/UT

sonar.junit.reportPath=build/test-results/UT

对于代码覆盖率文件(.exec),您必须使用:

sonar.jacoco.reportPath=build/jacoco/UT/jacocoUT.exec

sonar.jacoco.itReportPath=build/jacoco/IT/jacocoIT.exec

重要 - 声纳属性:

声纳。 jacoco .xxx 指向文件名

声纳。 junit .xxx 声纳。 java.junit .xxx 指向文件夹名称

声纳。 surefire .xxx 声纳。 java.surefire .xxx 指向文件夹名称

sonar.junit.reportPath 类似,还有另一个名为:sonar。 surefire .reportPath或sonar的属性。 java.surefire < /strong>.reportPath。在使用Maven / Gradle分析源代码时,查找Sonar文档以获得更多帮助。

http://docs.sonarqube.org/display/SCAN/Analyzing+Source+Code(展开)。

例如:在Analyze with Gradle build system下,查找配置分析属性部分/更多。