Yoh*_*age 6 java groovy unit-testing sonarqube sonarqube-scan
我们有一个Java项目,其中使用Spock(Groovy)编写单元测试.我们使用SonarQube进行静态分析.但是,我们没有看到SonarQube报告的测试覆盖率.但它列出了单元测试部分下的Groovy测试.
在SonarQube服务器(6.x)中,我们安装了Groovy插件(1.5),它列出了单元测试下的Groovy测试.以下是在顶层模块级别设置的SonarQube属性.我们使用Gradle(3.4)和SonarQube插件(2.5)进行构建.
sonarqube {
properties {
property "sonar.projectKey", "ABC"
property "sonar.projectName", "Abc Project"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.sources", "src/main/java"
property "sonar.tests", "src/test/groovy"
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过Gradle运行JaCoCo来生成HTML报告时,它会正确显示覆盖率.但是,当我们尝试发布到SonarQube时,会显示以下日志.似乎SonarQube无法找到Java源来确定覆盖范围.
Sensor GroovySurefireSensor [groovy] (done) | time=25ms
Sensor Groovy CoberturaSensor [groovy]
No Cobertura report provided (see 'sonar.groovy.cobertura.reportPath' property)
Sensor Groovy CoberturaSensor [groovy] (done) | time=0ms
Sensor Groovy JaCoCo [groovy]
Checking binary directory: /var/lib/jenkins/workspace/Abc-Analysis/common/build/classes/main
Analysing /var/lib/jenkins/workspace/abc-Analysis/common/build/jacoco/test.exec
Analysing /var/lib/jenkins/workspace/abc-Analysis/common/build/jacoco/test.exec
File not found: com/abc/common/core/Permission.java
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |