gpt4 book ai didi

java - 生成 Jacoco 报告后运行 "Coverage information was not collected."时为 'gradle sonarRunner'

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:17 27 4
gpt4 key购买 nike

我从 Sonar GitHub 存储库中的“java-gradle-simple”示例开始:

https://github.com/SonarSource/sonar-examples/tree/master/projects/languages/java/gradle/java-gradle-simple

我已将 jacoco 插件添加到我的 build.gradle 文件中,以查看单元测试覆盖率结果,我看到了警告:

Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?

我目前正在运行 Sonar 4.3.2 版,这是我在运行“gradle test jacocoTestReport sonarRunner”后看到的:

Sonar report

我的 build.gradle 文件如下所示:

apply plugin: 'java'
apply plugin: 'sonar-runner'
apply plugin: 'jacoco'

allprojects {
ext.baseVersion = "0.1"
ext.snapshotVersion = true

group = "org.sonar.tests"
version = "$baseVersion" + (snapshotVersion ? "-SNAPSHOT" : "")
}

sonarRunner {
sonarProperties {
property "sonar.projectName", "Simple Java Gradle Project"
property "sonar.projectKey", "org.codehaus.sonar:example-java-gradle"
property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
property "sonar.binaries", "${project.buildDir}/classes"
property "sonar.sources", "src/main"
property "sonar.tests", "src/test"
property "sonar.java.coveragePlugin", "jacoco"
}
}

buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.ajoberstar:gradle-jacoco:0.1.0' }
}

test {
ignoreFailures = true
}

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.10'
}

repositories {
mavenCentral()
}

我还缺少其他配置吗?令人惊讶的是,关于使用 Gradle 使用 Sonar 生成单元测试覆盖率的信息似乎并不多。

最佳答案

由于您使用的是 jdk 8,因此您应该将以下 block 添加到您的 gradle 脚本中:

jacoco {
toolVersion = "0.7.0.201403182114"
}

另外,你应该确保你的sonar版本支持jdk8

关于java - 生成 Jacoco 报告后运行 "Coverage information was not collected."时为 'gradle sonarRunner',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366953/

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