首页 > 解决方案 > 来自 ApplicationProvider.getApplicationContext 的错误应用程序实例

问题描述

Application通过创建一个子类并将这个子类的完全限定名称指定为标签中的android:name属性来提供我自己的实现:AndroidManifest.xml<application>

<application
        android:name=".GeniuzApp"
...

运行这个 Android 应用程序,我可以得到正确的Application对象,Activity例如:val app = application as GeniuzApp

然而,当我调用ApplicationProvider.getApplicationContext配置为 的单元测试时@RunWith(RobolectricTestRunner::class),我没有得到我的Application子类的实例(即GeniuzApp)。

我是否需要在单元测试中提供任何其他内容才能获得正确的应用程序实例?

标签: androidrobolectricandroidx-test

解决方案


我缺少以下内容build.gradle

android {
  testOptions {
    unitTests {
      includeAndroidResources = true
    }
  }
}

使用 Android Studio/Gradle 构建中所述


推荐阅读