Вступить в клуб →
сложнаявопросТестирование: JUnit, MockK, Espresso и Compose

UI-тесты с Hilt ходят в боевой API, потому что модуль сети не подменён

@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
    @Provides @Singleton
    fun api(): ShopApi = Retrofit.Builder().baseUrl(BuildConfig.API_URL) /* ... */
}

Инструментальные тесты отмечены @HiltAndroidTest и используют HiltAndroidRule. Нужно, чтобы во всех тестах вместо ShopApi подставлялся фейк, а в приложении ничего не менялось. Как это сделать средствами Hilt?

  • Тестовый модуль с @TestInstallIn(replaces = ...)
  • Проверять в NetworkModule, запущен ли тест
  • Переопределить BuildConfig.API_URL в тесте
  • Создавать ShopApi в тесте через конструктор

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела