使用Espresso运行Android Instrumented Tests提示0个测试用例如何解决
问题排查与缺失配置说明
- 测试文件存放路径校验
确保DummyTest类存放在src/androidTest/java/对应应用包名的目录下,不要放在本地单元测试专用的src/test/java/目录,只有前者会被识别为Instrumented UI测试。 - 测试规模注解缺失
给测试类添加@LargeTest注解(需要导入androidx.test.filters.LargeTest),Android Instrumented测试要求标注测试规模才能被运行器识别,修改后的测试类示例:import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.LargeTest import org.junit.Test import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @LargeTest class DummyTest { @Test fun test() { assert(false) } } - build.gradle配置补全
在module级build.gradle的defaultConfig块中,除了已有的testInstrumentationRunner配置外,补充以下配置:
如果你开启了Test Orchestrator,还需要在// 可选,开启测试时清除应用数据,避免缓存影响测试结果 testInstrumentationRunnerArguments clearPackageData: 'true' // 确认测试构建类型为debug,和你当前运行的变体匹配 testBuildType "debug"android.defaultConfig同级添加配置:testOptions { execution 'ANDROIDX_TEST_ORCHESTRATOR' } - 运行配置校验
点击运行按钮前确认运行配置是Android Instrumented Tests类型,不是本地JUnit测试类型,运行目标选择连接的实体机或者Android模拟器,不要选本地设备。 - 缓存清理
如果以上配置都正确还是识别不到,依次执行:清理项目Build缓存 -> 重启Android Studio -> 重新同步Gradle文件后再次尝试运行。
内容的提问来源于stack exchange,提问作者makis.k
相关产品推荐
相关产品推荐

