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

时间:2018-02-01 10:29:41

标签: android gradle jacoco

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

我有多个子Activity,所以我不能写出要在gradle文件中排除的所有这些subActivities的名称,所以如果我只是在gradle中给出Parent Activity的名称并且所有subActivities名称将是从jacoco报告中排除。

请帮忙。

1 个答案:

答案 0 :(得分:1)

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

根据我的观点,你可以通过按类的名称或包含子类的包来过滤子类来实现它。当然,为此您必须使用某个特定名称命名所有子类。

如何通过您可以在此SO question中阅读的名称来覆盖文件。您只需要修改jacocoTestReport任务配置以排除某些类或包,如下所示:

jacocoTestReport {
    ...

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