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

我如何告诉Gradle跳过各个测试类,而改为包含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”类?

最佳答案

您的套房位于src/test/java下吗?

你有没有尝试过?

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

关于gradle - Gradle使用JacocoTestReport执行JUnit TestSuite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47393753/

10-12 02:25