无法运行 Android Instrumented 测试

Posted

技术标签:

【中文标题】无法运行 Android Instrumented 测试【英文标题】:Unable to run Android Instrumented Tests 【发布时间】:2022-01-11 20:46:16 【问题描述】:

我正在尝试在 AS Arctic Fox 2020.3.1 Patch 3 ARM 预览版上使用 espresso 运行一些 UI 测试。按照 Google 说明设置这些是我的依赖项:

// Core library
androidTestImplementation 'androidx.test:core:1.4.0'

// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestUtil 'androidx.test:orchestrator:1.4.0'

// Assertions
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.ext:truth:1.4.0'
androidTestImplementation 'com.google.truth:truth:1.0.1'

// Espresso dependencies
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-accessibility:3.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-web:3.4.0'
androidTestImplementation 'androidx.test.espresso.idling:idling-concurrent:3.4.0'

我还在 Gradle 中将 testInstrumentationRunner 添加到 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

我正在尝试运行以下最简单的测试:

import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith

@RunWith(AndroidJUnit4::class)
class DummyTest 

   @Test
   fun test() 
       assert(false)
   

但是当我单击运行我的测试时,看起来我有 0 个测试。有什么我想念的吗?谢谢

【问题讨论】:

我也遇到了同样的问题。 @Mona101ma 检查更新的答案 【参考方案1】:

如果 AS 显示 TestResult 0/0 ,则删除该依赖项

androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'

【讨论】:

【参考方案2】:

在花费数小时后找到了解决此问题的方法。我注意到这个问题与

androidx.test.espresso:espresso-contrib:3.4.0

查看此答案以获得更多见解link

以为我没有收到任何错误或问题。我不得不禁用 AS 的测试矩阵。禁用后,我在逻辑上得到了更清晰的框架崩溃错误,这有助于我识别问题。

【讨论】:

以上是关于无法运行 Android Instrumented 测试的主要内容,如果未能解决你的问题,请参考以下文章

Android测试:Instrumented 单元测试

Android测试:从零开始3—— Instrumented单元测试1

Android 仪器化单元测试(instrumented unit tests) Androidx kotlin版本

为什么官方文档中的Android Instrumented Test示例不起作用?

Android测试——(下篇)

Ember CLI 代码覆盖率报告