@HiltAndroidApp и InstrumentationTests: появляется ошибка теста Hilt, [..] невозможно использовать приложение @HiltAndroAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 @HiltAndroidApp и InstrumentationTests: появляется ошибка теста Hilt, [..] невозможно использовать приложение @HiltAndro

Сообщение Anonymous »

У нас есть класс приложения, который не имеет каких-либо зависимостей от hilt-inject, но содержит довольно много элементов инициализации, унаследованных до того, как мы начали использовать hilt (он постепенно удаляется):

Код: Выделить всё

@HiltAndroidApp
class MyApplication : Application() {

override fun onCreate() {
super.onCreate()
//lots of stuff here
}
}
мы запускаем сквозные тесты, создавая специальные варианты, которые вызывают тестовую серверную среду, поэтому до сих пор нам не нужно было внедрять зависимости, и все работало нормально.
Теперь нам нужно внедрить класс в рабочий код, а также получить к нему доступ в тестовом классе.
поэтому мы добавили @HiltAndroidTest в тестовый класс и попытались внедрить необходимый класс.
выполняется. эта рукоять жаловалась, что для ее работы нам нужно предоставить специальное приложение.
поэтому ищу здесь и еще, где я понимаю, что мне нужно превратить MyApplication в базовое приложение:

Код: Выделить всё

abstract class MyApplication : Application(){/*same code as before*/}
объявите другой класс, который будет использоваться в реальном приложении:

Код: Выделить всё

@HiltAndroidApp
class AppApplication: MyApplication()
манифест: и объявите собственное приложение внутри теста:

Код: Выделить всё

    @RunWith(AndroidJUnit4::class)
@LargeTest
@HiltAndroidTest
class Buying {
@CustomTestApplication(MyApplication::class) interface TestApplication
}
но это все равно приводит к:

Код: Выделить всё

java.lang.IllegalStateException: Hilt test, Buying, cannot use a @HiltAndroidApp application but found AppApplication. To fix, configure the test to use HiltTestApplication or a custom Hilt test application generated with @CustomTestApplication.
Почему hilt не видит пользовательское приложение, объявленное в тестовом классе?

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-cannot-u
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»