我开始使用Sonar GitHub repo中的'java-gradle-simple'示例:
我已将jacoco插件添加到我的build.gradle文件中,以查看单元测试覆盖率结果,我看到了警告:
未收集覆盖范围信息 . 也许您忘记将调试信息包含在已编译的类中?
我目前正在运行Sonar的4.3.2版本,这就是我在运行'gradle test jacocoTestReport sonarRunner'之后看到的:
我的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的单元测试覆盖率的信息 .
1 回答
由于您使用的是jdk 8,因此应将以下块添加到gradle脚本中:
此外,您应该确保您的声纳版本支持jdk8