Ваша проблема заключается в простой путанице при импорте.
Обратите внимание, что вы используете import org.koin.core.inject
, а именно эта функция:
inline fun <reified T> KoinComponent.inject(
qualifier: Qualifier? = null,
noinline parameters: ParametersDefinition? = null
): Lazy<T> =
getKoin().inject(qualifier, parameters)
Для работы требуется getKoin
и, следовательно, вы не можете инициализировать свой тест (тестовый класс инициализируется до того, как Коин сможет начать со слушателя).
Правильный импорт - import org.koin.test.inject
, что означает:
inline fun <reified T> KoinTest.inject(
qualifier: Qualifier? = null,
noinline parameters: ParametersDefinition? = null
): Lazy<T> = lazy { get<T>(qualifier, parameters) }
Обратите внимание, что это действительно лениво, поэтому Kotest будет иметь возможность инициализировать Koin до начала ваших тестов.
Исправление этого импорта должно решить эту проблему