JaCoCo Gradle-排除类并覆盖包括

jesses.co.tt

我正在尝试改善项目中的代码覆盖率,并希望排除任何View类(因为它们未经测试/不可测试),但包括任何ViewModel类...但是我似乎无法让通配符过滤器配合使用,这就是全部或无!


def excludedPatterns = [
        //... other stuff

        '**/*Fragment*.*',
        '**/*Activity*.*',
        '**/*Adapter*.*',

        '**/*View*.*', // <-- this line is excluding classes ending w/ ViewModel

        '**/*ViewState*.*',
        '**/*ViewHolder*.*',
]

task codeCoverageReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."

    reports {
        html.enabled true
    }

    def debugTree = fileTree(
            dir: "$project.buildDir/tmp/kotlin-classes/debug",
            excludes: excludedPatterns
    )
    classDirectories.from = files([debugTree])

    def mainSrc = "$project.projectDir/src/main/java"
    sourceDirectories.from = files([mainSrc])

    executionData.from = fileTree(dir: project.buildDir, includes: [
            'jacoco/testDebugUnitTest.exec',
            'outputs/code-coverage/connected/*coverage.ec'
    ])
}

我尝试了的多种变体**/*View*.*',包括**/*View.*'和等等...有什么我要忽略的吗?

哥丁

您可以filter在上fileTree使用

例如

src/main/java/View.java

class View {}

src/main/java/ViewModel.java

class ViewModel {}

src/main/java/Example.java

class Example {}

src/test/java/ExampleTest.java

import org.junit.Test;

public class ExampleTest {
    @Test
    public final void test() {
    }
}

build.gradle

apply plugin: 'java'
apply plugin: 'jacoco'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'junit:junit:4.13'
}

jacocoTestReport {
    classDirectories.setFrom(
        fileTree(dir: "build/classes/java/main")
            .filter({file -> !file.name.contains('View') || file.name.contains('ViewModel')})
    )
}

执行

gradle clean test jacocoTestReport

使用Gradle 6.2.1将在build/reports/jacoco/test/html/不包含View,但包含ViewModel和的目录生成以下报告Example

报告

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Gradle Jacoco-覆盖率报告包括配置中排除的类

来自分类Dev

JaCoCo gradle插件排除

来自分类Dev

JaCoCo Gradle Kotlin DSL从违反规则中排除文件

来自分类Dev

(Android-Gradle)Jacoco涵盖范围不排除某些类文件

来自分类Dev

Gradle jacoco覆盖报告包含多个子模块?

来自分类Dev

在gradle中使用jacoco显示测试覆盖率

来自分类Dev

Jacoco Gradle中的最小代码覆盖率阈值

来自分类Dev

Gradle Jacoco报告覆盖率与验证率不匹配

来自分类Dev

勺子和 Jacoco 与 gradle

来自分类Dev

使用Sonarrunner和Gradle从Jacoco报告中排除软件包

来自分类Dev

使用android-gradle-plugin> = 1.1的Jacoco和单元测试代码覆盖率

来自分类Dev

如何使用新的Gradle SonarQube插件向Sonar报告Jacoco Groovy代码覆盖率?

来自分类Dev

跨模块的代码覆盖率在gradle这个mutlimodule项目Jacoco离线仪器仪表

来自分类Dev

如何使用Junit5和Jacoco配置build.gradle以进行测试覆盖

来自分类Dev

如何使用Android gradle插件0.10.0或更高版本获取jacoco覆盖率报告?

来自分类Dev

“未收集覆盖率信息。” 生成Jacoco报告后运行“ gradle sonarRunner”时

来自分类Dev

Gradle-Jacoco代码覆盖率而无需运行connectedCheck

来自分类Dev

Gradle jacoco 多项目。如何在终端输出所有项目的代码覆盖率?

来自分类Dev

无法使用gradle按类别包括/排除Junit测试类

来自分类Dev

为什么Gradle + Jacoco会抛出与JAXB类有关的异常?

来自分类Dev

Gradle和JaCoCo:来自单独子项目的乐器类

来自分类Dev

Gradle和JaCoCo:来自单独子项目的乐器类

来自分类Dev

JaCoCo和Gradle-过滤选项

来自分类Dev

如何使用Gradle在Android上运行Jacoco?

来自分类Dev

JaCoCo覆盖率报告设置(不包括测试班)

来自分类Dev

JaCoCo覆盖率报告设置(不包括测试班)

来自分类Dev

Gradle&Jacoco:获取“测试”以外的测试类型任务的jacoco报告

来自分类Dev

Gradle&Jacoco:获取“测试”以外的测试类型任务的jacoco报告

来自分类Dev

用gradle从黄瓜测试中获取jacoco报告

Related 相关文章

  1. 1

    Gradle Jacoco-覆盖率报告包括配置中排除的类

  2. 2

    JaCoCo gradle插件排除

  3. 3

    JaCoCo Gradle Kotlin DSL从违反规则中排除文件

  4. 4

    (Android-Gradle)Jacoco涵盖范围不排除某些类文件

  5. 5

    Gradle jacoco覆盖报告包含多个子模块?

  6. 6

    在gradle中使用jacoco显示测试覆盖率

  7. 7

    Jacoco Gradle中的最小代码覆盖率阈值

  8. 8

    Gradle Jacoco报告覆盖率与验证率不匹配

  9. 9

    勺子和 Jacoco 与 gradle

  10. 10

    使用Sonarrunner和Gradle从Jacoco报告中排除软件包

  11. 11

    使用android-gradle-plugin> = 1.1的Jacoco和单元测试代码覆盖率

  12. 12

    如何使用新的Gradle SonarQube插件向Sonar报告Jacoco Groovy代码覆盖率?

  13. 13

    跨模块的代码覆盖率在gradle这个mutlimodule项目Jacoco离线仪器仪表

  14. 14

    如何使用Junit5和Jacoco配置build.gradle以进行测试覆盖

  15. 15

    如何使用Android gradle插件0.10.0或更高版本获取jacoco覆盖率报告?

  16. 16

    “未收集覆盖率信息。” 生成Jacoco报告后运行“ gradle sonarRunner”时

  17. 17

    Gradle-Jacoco代码覆盖率而无需运行connectedCheck

  18. 18

    Gradle jacoco 多项目。如何在终端输出所有项目的代码覆盖率?

  19. 19

    无法使用gradle按类别包括/排除Junit测试类

  20. 20

    为什么Gradle + Jacoco会抛出与JAXB类有关的异常?

  21. 21

    Gradle和JaCoCo:来自单独子项目的乐器类

  22. 22

    Gradle和JaCoCo:来自单独子项目的乐器类

  23. 23

    JaCoCo和Gradle-过滤选项

  24. 24

    如何使用Gradle在Android上运行Jacoco?

  25. 25

    JaCoCo覆盖率报告设置(不包括测试班)

  26. 26

    JaCoCo覆盖率报告设置(不包括测试班)

  27. 27

    Gradle&Jacoco:获取“测试”以外的测试类型任务的jacoco报告

  28. 28

    Gradle&Jacoco:获取“测试”以外的测试类型任务的jacoco报告

  29. 29

    用gradle从黄瓜测试中获取jacoco报告

热门标签

归档