您好,如何从 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/