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

Android Studio单元测试调试断点失效,常规代码调试正常求因

Android Studio单元测试断点无法触发问题排查

问题现象

调试常规业务代码时断点可正常触发,但调试单元测试用例时断点完全不生效,测试用例会直接执行完成。

环境信息

Android Studio Flamingo | 2022.2.1 Patch 2
Build #AI-222.4459.24.2221.10121639, built on May 12, 2023
Runtime version: 17.0.6+0-17.0.6b802.4-9586694 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.4.1
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 16
Metal Rendering is ON
Registry:
external.system.auto.import.disabled=true
ide.text.editor.with.preview.show.floating.toolbar=false
gradle.version.catalogs.dynamic.support=true

Non-Bundled Plugins:
idea.plugin.protoeditor (222.4459.16)

补充说明:已提供示例项目和演示视频,视频中可见设置两个断点后调试单元测试,断点未触发但测试执行成功。

排查与解决方法

  • 检查测试运行配置:确保调试单元测试时使用的是Android JUnit或JUnit类型的运行配置,而非普通运行配置。可通过Run > Edit Configurations进入配置页面,确认或新建对应类型的测试配置。
  • 清理并重新编译测试代码:执行终端命令./gradlew clean testDebugUnitTestCompile,清除编译缓存后重新编译测试相关代码,避免缓存导致的断点失效。
  • 重启Gradle守护进程:执行./gradlew --stop停止Gradle守护,然后重启Android Studio,再尝试调试测试用例。
  • 验证断点有效性:
    • 避免在可能被编译器内联的代码(如简单getter/setter、单一行逻辑代码)上设置断点,尽量选择测试方法内的核心逻辑行。
    • 确认断点图标为实心红色(未被禁用),若为灰色则右键启用断点。
  • 排查第三方插件影响:暂时禁用idea.plugin.protoeditor插件,重启IDE后测试断点是否恢复正常,排除插件冲突问题。
  • 确保测试编译开启调试信息:在模块的build.gradle中添加或确认以下配置,保证测试代码编译时包含调试信息:
android {
    buildTypes {
        debug {
            debuggable true
        }
    }
}
  • 调整JUnit版本:若项目使用的JUnit版本与当前Android Studio存在兼容问题,尝试切换至稳定版本(如JUnit 4.13.2或JUnit 5.9.2),更新项目依赖后重新编译调试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:52:43