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

Android自定义testInstrumentationRunner配置后无法执行测试问题排查

问题解决步骤
  • 检查构建配置是否被覆盖
    查看build.gradle中buildTypes、productFlavors代码块,确认你当前运行的测试变种没有单独配置testInstrumentationRunner覆盖defaultConfig的全局配置,如果有单独配置,直接修改为自定义Runner的全类名即可。
  • 清理构建缓存与设备残留应用
    配置修改后不生效、甚至配置不存在的Runner也无报错,绝大多数是AGP构建缓存或者设备上的旧测试包残留导致,按以下步骤操作:
    1. 执行Build > Clean Project,再执行Rebuild Project完成全量构建
    2. 手动卸载测试设备上的主应用、测试应用(测试应用包名通常为「主包名+.test」后缀)
    3. 重新运行测试用例
  • 确认自定义Runner存放路径正确
    Instrumentation测试相关的自定义Runner必须放在src/androidTest/java/下的对应包路径中,不能放在src/test/java/本地单元测试目录,否则会无法打包到测试APK中导致找不到类。
  • 排查初始化崩溃问题
    自定义TestApplication或Runner初始化阶段崩溃会导致测试框架还没加载测试用例就终止,表现为0条用例执行:
    1. 把CustomTestRunner、ApplicationTest中的Timber日志替换为系统原生Log.d输出,运行测试后过滤对应TAG的logcat日志,确认类方法是否被正常调用
    2. 检查主Application的onCreate逻辑,是否有依赖线上环境、推送/埋点等初始化逻辑在测试环境触发异常,可在ApplicationTest中重写对应方法屏蔽异常逻辑
  • 校验自定义类定义合规性
    确认CustomTestRunner存在无参公共构造方法,Kotlin默认生成的无参构造满足要求,如果你手动添加了带参数的构造,需要额外补充无参构造。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:48:02