【问题标题】:Jacoco reports path not found by sonar-runner [duplicate]Jacoco 报告 sonar-runner 找不到路径 [重复]
【发布时间】:2015-10-02 00:59:33
【问题描述】:

我使用EclEmma 生成了一份覆盖率报告,路径如下:

C:/tmp/coverageReport/report.exec

此文件存在,不为空且可读。 我关于代码覆盖率的 sonar-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

关于我缺少什么的任何想法?

【问题讨论】:

    标签: sonarqube jacoco sonar-runner


    【解决方案1】:

    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
    

    重要 - 声纳特性:

    sonar.jacoco.xxx 指向文件名

    sonar.junit.xxx sonar.java.junit.xxx 指向文件夹名称

    sonar.surefire.xxx sonar.java.surefire.xxx 指向文件夹名称

    sonar.junit.reportPath 类似,还有另一个属性称为:sonar.surefire.reportPath 或 sonar.java.surefire。报告路径。在使用 Maven/Gradle 分析源代码下查找 Sonar 文档以获得更多帮助。

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

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

    【讨论】:

    猜你喜欢
    • 2017-10-19
    • 2018-12-13
    • 2016-03-06
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 2016-08-05
    • 2015-12-29
    相关资源
    最近更新 更多