Gradle 使用 JacocoTestReport 执行 JUnit TestSuite

Gradle execute JUnit TestSuite with JacocoTestReport

我正在使用 TestSuite 来处理跨越多个测试 classes 的数据库连接。 当作为独立的 TestSuite 执行时,这些测试都通过了。但是,当在 Gradle 上执行时,将执行每个单独的测试 class 而不是 TestSuite。

如何告诉 Gradle 跳过单个测试 classes 并改为包括 TestSuite?

这就是我现在拥有的

jacoco {
    toolVersion = "0.7.9"
    reportsDir = file("jacoco")
}

// run with [test jacocoTestReport] 
jacocoTestReport {
    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("jacoco/jacocoHtml")
    }

    afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it, exclude: ['some_excluded_package/**'])
        })
    }
}

我尝试过的:

test {
    filter {
        include 'xxx/MasterSuite'
        exclude '**/*ExcludeFromGradle.class'
    }

    jacoco {
        jacocoTestReport {
            [..]

//====================
// Also tried this

test {
    filter {
        includeTestsMatching "*MasterSuite"
    }
}

还有一些使用 JaCocoTaskExtension 的类似设计的变体,由于我缺乏理解而无法正确编译。

现在。我如何调整它以包括我的 'Mastersuite' TestSuite 并排除 'ExcludeFromGradle' classes?

你的套房在src/test/java下面吗?

你试过了吗?

test {
    include '**/MasterSuite.class'
}