Я пытаюсь использовать тестовое правило Koin для запуска и остановки Koin с тестовыми модулями, однако каждый раз, когда я пытаюсь использовать это правило или startKoin (), я получаю «KoinContext уже запущен». Сначала я запускаю Koin в классе приложений, что может иметь какое-то отношение к проблеме, но я сам не уверен, как обойти это. Буду признателен за любую помощь в этом вопросе.
Применение:
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@Application)
modules(repositoryModule, daoModule, viewModelModule, wrapperModule)
}
}
Тест:
@get:Rule
val koinTestRule = KoinTestRule.create {
modules(repositoryTestModule)
}
Модуль тестирования репозитория:
val repositoryTestModule = module {
single<JournalRepository> { FakeJournalRepository() }
}