我有一个 java gradle 项目,在标准“src/test”文件夹旁边有一个自定义源集“src/integration-test”。
构建.gradle
plugins {
...
id 'org.sonarqube' version '3.3'
id 'jacoco'
}
sourceSets {
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integration-test/java')
}
resources.srcDir file('src/integration-test/resources')
}
}
jacocoTestReport {
getExecutionData().setFrom(fileTree(buildDir).include("/jacoco/*.exec"))
reports {
xml.required = true
}
}
sonarqube {
properties {
properties["sonar.tests"] += sourceSets.integrationTest.allSource.srcDirs.findAll({ it.exists() })
properties["sonar.coverage.jacoco.xmlReportPaths"] = "${project.buildDir}/reports/jacoco/test/jacocoTestReport.xml"
}
}
...
我已经尝试了几件事,但 Sonarqube 仍然只选择“src/test”中的单元测试,而忽略了我的自定义源集中的单元测试。
版本: Gradle v7.3 Sonarqube v3.3 Java 17
我究竟做错了什么?
谢谢。