当前位置: 首页 > 知识库问答 >
问题:

声纳无法获取测试覆盖信息

时衡虑
2023-03-14

与SonarQube类似,它不会通过Gradle显示每个文件的详细报告,但不会显示dupe。

声纳Qube版本3.7.4 Gradle版本2.1

运行gradle sonarRunner会生成一个文件test.execSonar会拾取该文件

14:50:28.167 INFO  - Analysing D:\projname\build\jacoco\test.exec
14:50:28.265 INFO  - No information about coverage per test.
14:50:28.266 INFO  - Sensor JaCoCoSensor done: 106 ms
14:50:28.529 INFO  - Execute decorators...
14:50:29.253 INFO  - Store results in database
14:50:29.391 INFO  - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/com.projname

然而,在刷新上述项目时,它显示覆盖率为0%

单元测试覆盖率 0.0% 0.0% 线路覆盖率 0.0% 分支覆盖率

我已经设定好了

sonarRunner {
    sonarProperties {
        property 'sonar.jacoco.reportPath', 'D:\\projname\\build\\jacoco\\test.exec'
        property 'sonar.junit.reportsPath','$buildDir/test-results'
        property 'sonar.tests', "$buildDir/classes/test"
     }
}

我已经尝试了\和向前斜杠-这没有区别

有什么想法吗?

编辑

根据Peter的回答,删除了< code > sonar properties ——所以build.gradle基本上是

subprojects {
   apply plugin: 'java'
   apply plugin: 'eclipse'
   apply plugin: 'sonar-runner'
   apply plugin: 'jacoco'
   sourceCompatibility  = 1.7
   group = 'com.mycomp'
   version = '1.0-SNAPSHOT'

    repositories {
        mavenCentral()
    }

    dependencies {
        testCompile 'junit:junit:4.10'
    }
}

这不会读取在 D:\projname\build\jacoco\test.exec 生成的默认 exec 文件

相反,它给出了这样的信息

17:06:36.912 INFO  - Project coverage is set to 0% as no JaCoCo execution data has been dumped: D:\projname\target\jacoco.exec

问题:文件夹名称中的空格会导致问题吗

共有1个答案

柳俊彦
2023-03-14

使用<code>gradle test sonarRunner“$buildDir/testresults”)。如果应用了jacocojavaplugins,那么代码片段中显示的所有Sonar属性都应该正确预配置。

 类似资料:
  • 我有一个基本的maven多模块,父模块是POM,其子模块是domain、service和Web。 我已经在pom父级中添加了jacoco插件和所需的配置,以便将测试覆盖率报告附加到一个Sonar很容易找到的文件中。 我的问题是,Sonar只显示第一个模块的测试覆盖范围(是domain)(即使我用编辑器打开文件,看到其他模块的类名被追加在其中)。 这种配置会有什么问题? 为了它的价值,声纳分析被称为

  • 我正在使用Jacoco插件使用jenkins获得代码覆盖率。我能够看到代码覆盖率。当我尝试使用相同的jacoco.exec文件来生成声纳代码覆盖率时,它显示:由于没有类文件,无法对项目覆盖率进行JaCoCo分析。我使用以下声纳属性: 我正在使用SonarQube 5.3

  • xccov工具仅为覆盖的代码行生成单元测试覆盖率报告。如果你举个例子。swift文件有20行,10行由单元测试覆盖,覆盖率为50%。 Karma(用于Angular 2开发)不仅为所涵盖的代码行创建报告,还为语句、分支和函数创建报告。 是否可以配置xccov,或者在iOS开发中是否有类似的工具来实现这一点?谢谢

  • 我必须在我的android测试中设置代码覆盖报告,然后在声纳中发布它们。我读到没有工具和插件可以做到这一点。我正在使用gradle脚本,我尝试Jacoco插件,cobertura,但没有结果。有什么办法解决吗?此外,我试图做像这里Gradle Jacoco代码覆盖-然后发布/显示在詹金斯

  • 我正在使用: 声纳v.3.2(有jacoco) Maven 3.0.4 跟随”http://johndobie.blogspot.in/2012/05/easy-unit-and-integration-code-coverage.html#comment-表格“以获得单元的单独代码覆盖率 日志显示如下: POM文件:

  • [在这里输入图像描述][1][在这里输入图像描述][2]我知道很多人都有类似的问题。我展示了很多答案,尝试了在声纳网站上给出的示例代码。那个样品工作得很好。我还显示以下链接 maven 3.0.5 请帮我解决这个问题。 下面是父模块pom文件 我真的觉得这是jacoco或Sonarqube的bug。可能它不兼容Java8之类的东西。我几乎什么都试过了。sonar java插件2.5.1不推荐使用许