【问题标题】:JaCoCo gradle plugin excludeJaCoCo gradle 插件排除
【发布时间】:2014-07-08 11:47:59
【问题描述】:

我想从 JaCoCo 中排除一些类,但排除似乎不起作用。

例如,我想排除所有以 Dao 结尾的 Java 类(例如 com.company.EmplyeeDao)。

我已经尝试了以下代码,但是当我将其推送到声纳/使用 JacocoTestReport 时它仍然显示。

test {
    jacoco {
        append = true
        destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
        classDumpFile = file("$buildDir/jacoco/classpathdumps")
        excludes = ['*Dao']
}
}

我将它与 Android 结合使用。怎么回事?

【问题讨论】:

标签: android gradle jacoco


【解决方案1】:

试试这样的:

excludes: ['**/Dao*.class']

但据我了解,这会将课程排除在 jacoco 之外,但 Jacoco 创建的报告会显示“0% 的覆盖率”: Gradle issue: https://issues.gradle.org/browse/GRADLE-2955

【讨论】:

  • 据我了解,是的。在 gradle 问题中,一个人排除了 yahoo 和 google 库。
  • 这不排除以Dao开头的类吗?问题是针对以道结尾的课程。过滤器应该是 '**/*Dao.class' 吗?
  • 你说的没错,但没有要排除的 Dao.class 文件,类如 DaoProfile.class、DaoManager.class 等。这就是我使用 Dao*.class 的原因。
【解决方案2】:

对于更新版本的 gradle (6+) 使用这个:

jacocoTestCoverageVerification {
    violationRules {
        rule {
            includes = ['com/myapp/*']
            excludes = [
                    'com/myapp/folderToExclude1/*',
                    'com/myapp/folderToExclude2/*',
            ]
           limit {
                minimum = 0.85
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 2013-11-16
    • 2019-08-11
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 2018-12-18
    相关资源
    最近更新 更多