Java SonarQube分析显示代码覆盖率为0
这是一个基于Java SonarQube分析显示代码覆盖率为0,java,gradle,azure-devops,sonarqube,sonarscanner,Java,Gradle,Azure Devops,Sonarqube,Sonarscanner,这是一个基于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
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%的代码覆盖率
当我比较成功构建和失败构建的日志时,我在失败构建中发现了这条消息
信息:传感器[java]
信息:“sonar.jacoco.ReportPath”和
已设置“sonar.coverage.jacoco.xmlReportPath”。
因此,“sonar.jacoco.reportpath”不推荐使用,仅
将考虑“sonar.coverage.jacoco.xmlReportPath”
但是我还没有配置任何特定于xmlreportpath
的东西,所以不知道为什么它开始失败
gradle version- 5.4.1
SonarQube Scanner version- 3.3.0.1492
SonarQube server version- 7.3.0
感谢您的帮助。经过几天的努力和网上搜索,我终于发现了我在gradle任务中犯的错误。 我启用了
html
和xml
这两个报告,这两个报告都导致了提到的问题
将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服务器版本历史记录,最近没有升级。上次使用此管道是在7月11日,它运行良好,但今天它完全失败了。如果改用sonar.coverage.jacoco.XMLReportPath,结果会是什么?尝试使用XMLReportPath,它解决了警告消息,但结果仍然相同。完全没有代码覆盖
sonar.java.binaries=build\classes sonar.language=java sonar.tests=src\test\java sonar.verbose=false sonar.test.includes=***\test\**sonar.coverage.jacoco.xmlReportPaths=build\reports\jacoco\test\jacoctestreport.xml