`Неразрешенная ссылка: runBlocking` в android инструментальных тестах, но код компилируется просто отлично - PullRequest
0 голосов
/ 04 февраля 2020

В моем методе настройки у меня есть следующий код:

@Before
fun setUp() {
    repo = ToDoRepository()

    loadKoinModules(module {
        single(override = true) { repo }
    })

    runBlocking { items.forEach { repo.save(it) } } // unresolved reference
}

Я получаю предупреждение компилятора о том, что runBlocking является неразрешенной ссылкой, хотя у меня также есть соответствующий оператор импорта: import kotlinx.coroutines.runBlocking в качестве соответствующей зависимости в моем файле build.gradle приложений:

dependencies {
  // <other dependecies>
  testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.2'
  androidTestImplementation 'androidx.test:runner:1.2.0'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  androidTestImplementation "androidx.test.ext:junit:1.1.1"
  androidTestImplementation "androidx.arch.core:core-testing:2.1.0"
}

Я подумал, что, возможно, решение было бы добавить androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.2'. Но когда я это делаю, мой код больше не компилируется (но предупреждение исчезло), в чем может быть проблема? Это просто ошибка в Android Studio?

Некоторые вещи, которые я уже пробовал:

  • Неверный кеш и перезапуск
  • Удаление библиотек в проектах .idea/libraries папка и синхронизация проекта с файлами Gradle.
...