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

升级Android Studio(Arctic Fox)2020.3.1 Patch3后单元测试与覆盖率测试异常咨询

问题2:解决test events were not received错误

该错误是Gradle与AGP版本不匹配、AS测试运行配置错误导致,可按以下步骤修复:

  • 首先做版本适配:你当前使用的AGP 4.0.0匹配的推荐Gradle版本为6.1.1,若要保留Gradle 6.8.3,可将AGP升级到4.2.2版本,二者版本适配后可解决事件传输异常问题。
  • 修改AS测试运行配置:打开File > Settings > Build, Execution, Deployment > Build Tools > Gradle,将Run tests using选项设置为Gradle,不要使用默认的IntelliJ IDEA,保证测试事件通过Gradle输出到AS面板。
  • 清理缓存:执行File > Invalidate Caches / Restart,重启后重新同步Gradle项目即可。

问题3:Jacoco覆盖率HTML报告路径

分两种触发场景:

  • 若通过AS的Run xxxTest with coverage入口触发测试,报告默认生成在模块根目录/build/reports/jacoco/test[对应构建变种名]UnitTest/html/路径下,比如使用debug构建变种时,完整报告入口为build/reports/jacoco/testDebugUnitTest/html/index.html。
  • 若通过Gradle任务触发测试,AGP 4.0+默认不会自动生成全量明细报告,需要在模块build.gradle中自定义Jacoco报告任务,示例如下:
task jacocoTestReport(type: JacocoReport) {
    dependsOn 'testDebugUnitTest'
    reports {
        xml.enabled false
        csv.enabled false
        html.destination file("${buildDir}/reports/jacoco/jacocoFullReport")
    }
    def classFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*']
    def debugClassTree = fileTree(dir: "${buildDir}/intermediates/javac/debug/classes", excludes: classFilter)
    sourceDirectories.setFrom(files(["${project.projectDir}/src/main/java"]))
    classDirectories.setFrom(files([debugClassTree]))
    executionData.setFrom(fileTree(dir: "$buildDir", includes: ["jacoco/testDebugUnitTest.exec"]))
}

执行自定义的jacocoTestReport任务后,明细报告将生成在你指定的build/reports/jacoco/jacocoFullReport路径下。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:36:03