android - Jacoco - 如何在 jacoco Android gradle 中排除继承的类

标签 android gradle jacoco

您好,如何从 Jacoco 报告覆盖范围中排除所有继承的类。 例如 - 对于示例 A、B、C,我有一个 BaseActivity 和多个子 Activity。 我想排除所有子 Activity 的报告。

我有多个子 Activity ,因此我无法在 gradle 文件中写入要排除的所有这些子 Activity 的名称,那么有没有什么方法,如果我只在 gradle 中给出父 Activity 的名称,并且所有子 Activity 名称将从 jacoco 报告中排除。

请帮忙。

最佳答案

我认为这是不可能的,因为还没有这样的过滤选项。你可以看到它们here .

根据我的观点,唯一的方法是通过类的名称或包含子类的某个包来过滤子类。当然,为此您必须使用特定名称来命名所有子类。

如何按名称筛选覆盖范围,您可以在本文中阅读 SO question 。您只需修改 jacocoTestReport 任务配置以排除某些类或包,如下所示:

jacocoTestReport {
    ...

    afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it,
                    exclude: ['codeeval/**',
                              'crackingthecode/part3knowledgebased/**',
                              '**/Chapter7ObjectOrientedDesign**',
                              '**/Chapter11Testing**'])
        })
    }
}

关于android - Jacoco - 如何在 jacoco Android gradle 中排除继承的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560542/

相关文章:

android - 使用 AsyncTask 委托(delegate)

java - 是否有支持 NPER 函数的 NPER 或金融函数库?

javascript - "TypeError: Cannot read property ' 作用域 Fn ' of undefined"。这是什么?

android - 如何捕获android设备屏幕内容?

gradle - 无法解析 'kotlin'中的 '/home/marcin/Projects/EduKotlinAcademy/web/build/node_modules_imported/kotlinx-html-js'

android - 如何将 Kotlin 错误链接到 Android Studio 中的源代码?

java - 从 Jenkins 中的 Jacoco 覆盖范围中排除包

gradle - Gradle隐式运行另一个任务

jacoco - 在运行集成测试之前,如何让 Maven 构建等待 Jetty 服务器以 fork 模式启动?

java - 使用 orElseThrow : Jacoco gives 0% code coverage 为Optional编写Mockito单元测试