gradle jacoco exclude files from coverage

在Gradle中,您可以使用JaCoCo插件来生成代码覆盖率报告。如果您想要从覆盖率报告中排除某些文件或目录,可以通过JaCoCo插件的 excludes 属性来实现。该属性接受一个包含排除规则的字符串列表,您可以使用通配符来指定需要排除的文件或目录。

以下是一个示例build.gradle文件中的JaCoCo插件配置,其中排除了 com/example/test/ 目录下的所有Java文件和 **/*Test.class 文件:

apply plugin: 'jacoco'
jacoco {
    toolVersion = "0.8.2"
    reportsDir = file("$buildDir/reports/jacoco")
test {
    jacoco {
        excludes = ['com/example/test/**/*.java', '**/*Test.class']
jacocoTestReport {
    reports {
        html.enabled = true
        xml.enabled = true
    executionData(test)

在上面的示例中,excludes属性定义在test任务中,因此只会影响测试任务生成的覆盖率报告。如果您希望排除其他任务的文件,可以将相应的配置添加到这些任务中。

请注意,JaCoCo插件的excludes属性使用Ant样式的通配符语法,您可以使用*匹配单个字符,**匹配任意数量的目录,?匹配一个字符或没有字符。如果您需要更高级的匹配规则,可以使用正则表达式。

  •