Android Espresso testing "Не удается разрешить символ" InstrumentationRegistry ''
Я пытаюсь импортировать
import android.support.test.InstrumentationRegistry;
мой файл build.gradle
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile 'com.android.support.test:runner:0.2'
androidTestCompile 'com.android.support.test:rules:0.2'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
в конфигурации по умолчанию:
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Есть ли библиотека, которую я здесь отсутствует? Я пытаюсь импортировать InstrumentationRegistry, но он не распознает его!
Ответы
Ответ 1
Проверьте, какой тест вы используете.
InstrumentationRegistry используется для инструментальных тестов, которые используют эмулятор или устройство, и они помещаются в src/androidTest и используют config androidTestCompile.
Если вы используете локальные модульные тесты для JVM из папки src/test, вам следует использовать config testCompile
testImplementation 'com.android.support.test:runner:1.0.2'
После этого вы можете импортировать InstrumentationRegistry, но вы получите другие ошибки во время выполнения.
Ответ 2
попробуйте
компилировать 'com.android.support.test: runner: 0.2'
вместо
testCompile 'com.android.support.test: runner: 0.2'
Ответ 3
кажется, что com.android.support.test
недавно был исключен из какого-то другого пакета (не знаю, какой именно), что также привело к тому, что android.support.test.InstrumentationRegistry
был неизвестен; не исключая его из com.android.support.test:runner
исправил проблему для меня.
androidTestImplementation ("com.android.support.test:runner:1.0.2") {
// exclude group: "com.android.support.test"
exclude group: "com.android.support"
}
в основном, androidTestImplementation
должен содержать com.android.support.test
один раз.