Gradle Jacoco不排除文件

Gradle Jacoco不排除文件,gradle,sonarqube,jacoco,Gradle,Sonarqube,Jacoco,我用的是Gradle和Jacoco。这是我的build.gradle: jacocoTestReport { reports { xml.enabled true csv.enabled false } afterEvaluate { classDirectories = files(classDirectories.files.collect { fileTree(dir: it, exclude

我用的是Gradle和Jacoco。这是我的
build.gradle

jacocoTestReport {
    reports {
        xml.enabled true
        csv.enabled false
    }

    afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it, exclude: [
                    '**/TrackingDataRecord.java'
                    ])
        })
    }
}
test.finalizedBy(project.tasks.jacocoTestReport)

我试图排除该java文件,但它仍然显示SonarQube的覆盖范围。为什么会这样?

gradletask
jacotestreport
通过分析JaCoCo
exec
文件和Java
class
文件生成XML/HTML/CSV报告

SonarQube不使用Gradle task
JacoTestReport
生成的报告,而是通过分析JaCoCo
exec
文件和Java
class
文件来生成自己的报告,作为以下文件的证明:

这在将来可能会改变,SonarQube可能会开始导入XML报告-请参阅

关于SonarQube中的排除,请参见:

忽略代码覆盖率

您可以防止单元测试考虑某些文件的代码覆盖率

要执行此操作,请转到“管理”>“常规设置”>“分析范围”>“代码覆盖率”,然后设置“覆盖率排除”属性

| Property                 | Example            | Description
| sonar.jacoco.reportPaths | target/jacoco.exec | Import JaCoCo code coverage reports. Set the property to the path of the JaCoCo .exec