繁体   English   中英

SonarQube 分析显示代码覆盖率 0

[英]SonarQube Analysis showing code coverage 0

这是一个基于gradle build工具的SpringBoot项目,我正在使用AzureDevOps任务进行SonarQube分析。

以下是我在任务中添加的属性:

sonar.java.binaries=build\classes
sonar.jacoco.reportPaths=build\jacoco\test.exec
sonar.language=java
sonar.tests=src\test\java
sonar.verbose=false
sonar.test.inclusions=**\test\**

几天前它运行良好,今天突然开始失败,并出现代码覆盖率为 0% 的错误。

当我比较成功和失败构建的日志时,我在失败的构建中发现了这条消息。

信息:传感器 JaCoCoSensor [java]

信息:“sonar.jacoco.reportPaths”和“sonar.coverage.jacoco.xmlReportPaths”均已设置。 'sonar.jacoco.reportPaths' 已弃用,因此只会考虑 'sonar.coverage.jacoco.xmlReportPaths'。

但是我没有配置任何特定于xmlReportPaths的东西,所以不确定它为什么开始失败。

gradle version- 5.4.1
SonarQube Scanner version- 3.3.0.1492
SonarQube server version- 7.3.0

任何帮助表示赞赏。

经过几天的努力和互联网搜索,我终于找到了我在gradle任务中犯的错误。 我启用了htmlxml这两个报告,这是引起提及问题的原因。

xml.enabled设置为false ,它将像以前一样开始工作。

jacocoTestReport{
    additionalSourceDirs.from = files(sourceSets.main.allJava.srcDirs)
    reports {
        html.enabled true
        xml.enabled false
        csv.enabled false
        html.destination file("build/reports/jacoco/html")
    }
    executionData.from = files('build/jacoco/test.exec')    
}

但是我仍然不确定它是如何第一次工作的,因为正如我之前所说,我没有对代码或管道进行任何更改。

我看到关于Sonarqube也在处理一个故事的同一消息。

正如文档 sonarqube 中所述,它不运行测试,它只是导入由其他工具生成的报告,以便在其他分析中显示它们。

所以我的猜测是你没有配置你的 CI 链来生成要在 sonarqube 中显示的测试报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM