gpt4 book ai didi

gradle - Sonar 不获取测试覆盖率信息

转载 作者:行者123 更新时间:2023-12-04 15:33:44 26 4
gpt4 key购买 nike

类似于 SonarQube does not display detailed report per file for fully covered classes via Gradle但不是骗子。

Sonar Qube 版本 3.7.4
Gradle 版本 2.1

运行 gradle sonarRunner生成文件 test.exec 其中 Sonar 捡起

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"
}
}

我试过\和正斜杠 - 它没有区别

有任何想法吗?

编辑

根据彼得的回答,删除了 sonarProperties - 所以 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

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

最佳答案

使用 gradle test sonarRunner以确保测试和覆盖结果是最新的。避免在构建脚本中使用绝对路径。 Groovy 仅对双引号字符串 ( "$buildDir/test-results" ) 执行字符串插值。如果您有 jacocojava应用插件后,您的代码片段中显示的所有 Sonar 属性都应正确预配置。

关于gradle - Sonar 不获取测试覆盖率信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com