gradle jacoco exclude files

使用Gradle Jacoco插件时,可以通过在build.gradle文件中配置Jacoco的exclude代码块来指定要排除的代码文件。

以下是一个示例build.gradle文件,其中将排除"test/ "和" /*Test.class":

apply plugin: 'java'
apply plugin: 'jacoco'
jacoco {
    toolVersion = "0.8.4"
    reportsDir = file("$buildDir/reports/jacoco")
test {
    jacoco {
        // 设置所有测试都要被覆盖
        includeNoLocationClasses = true
jacocoTestReport {
    reports {
        xml.enabled false
        html.enabled true
    // 排除测试相关的类和包
    afterEvaluate {
        classDirectories.setFrom(files(classDirectories.files.collect {
            fileTree(dir: it, exclude: ['**/*Test*.*'])
        additionalSourceDirs.from(files(sourceSets.main.allJava.srcDirs.collect {
            fileTree(dir: it, exclude: ['**/*Test*.*'])
    // 排除指定文件或文件夹
    excludes = [
        '**/example/**'

在上面的配置中,包含以下主要部分:

  • 应用Jacoco插件,并设置Jacoco版本和报告目录。
  • 配置测试任务,以便Jacoco可以跟踪所有测试。
  • 设置JacocoTestReport任务的报告类型和目标,并在afterEvaluate代码块中排除测试相关的类和包。
  • 最后,在JacocoTestReport任务中使用excludes属性排除特定的文件或文件夹。
  • 在excludes属性中,您可以使用通配符指定要排除的文件或文件夹的路径,例如"/example/"表示排除所有路径中包含"example"的文件或文件夹。

  •