代码之家  ›  专栏  ›  技术社区  ›  Brenin

Gradle使用JacocoTestReport执行JUnit测试套件

  •  0
  • Brenin  · 技术社区  · 7 年前

    我使用TestSuite来处理跨多个测试类的DB连接。 当作为独立测试套件执行时,这些测试都会通过。然而,当在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”测试套件并排除“ExcludeFromGradle”类?

    1 回复  |  直到 7 年前
        1
  •  0
  •   lance-java    7 年前

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

    你试过了吗?

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