You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让jacocoTestReport仅记录失败测试,屏蔽通过测试日志?

解决Jacoco测试报告日志冗余问题

给你两个可行方案,都能实现只输出失败测试的相关日志:

方案一:修改Gradle测试任务的日志配置

直接在项目的build.gradle(Groovy)或build.gradle.kts(Kotlin)里配置test任务的日志规则,让它只打印失败用例的信息:

Groovy版本(build.gradle)

test {
    testLogging {
        // 仅记录失败事件
        events 'failed'
        // 输出完整异常栈信息
        exceptionFormat 'full'
    }
}

Kotlin版本(build.gradle.kts)

tasks.test {
    testLogging {
        events = setOf(TestLogEvent.FAILED)
        exceptionFormat = TestExceptionFormat.FULL
    }
}

配置后,Gradle只会在测试失败时输出对应类、方法的详细失败信息,通过的测试不会再生成ClassName > MethodName(MethodArguments) PASSED这类日志。

方案二:在GitHub Action中过滤日志输出

如果不想修改项目配置,也可以在GitHub Action的执行步骤里,通过shell命令过滤掉包含PASSED的日志行:

- name: Generate Jacoco Test Report
  run: ./gradlew jacocoTestReport 2>&1 | grep -v "PASSED"

如果担心误过滤其他含PASSED的无关内容,可以用更精确的匹配规则:

- name: Generate Jacoco Test Report
  run: ./gradlew jacocoTestReport 2>&1 | grep -v " > .* PASSED"

内容的提问来源于stack exchange,提问作者oreid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:23:12