0

我有一个 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

我究竟做错了什么?

谢谢。

4

0 回答 0