Неправильный экземпляр приложения из ApplicationProvider.getApplicationContext - PullRequest
0 голосов
/ 31 октября 2019

Я предоставляю свою собственную реализацию 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).

Нужно ли предоставлять что-либо еще в моем модульном тесте, чтобы получить правильный экземпляр приложения?

1 Ответ

0 голосов
/ 31 октября 2019

Я пропустил следующее в build.gradle:

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

, как указано в Сборка с Android Studio / Gradle

...