Не удается разрешить ActivityTestRule после обновления зависимостей. Невозможно импортировать ActivityTestRule
Я написал инструментальные тесты, которые работали нормально, но теперь получение ошибки не может устранить ошибку ActivityTestRule после обновления зависимостей до
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
Я использую поддержку Android версии 27.1.1
Работает нормально с зависимостями
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
1 ответ
В последнем обновлении библиотеки поддержки тестирования (2018-04-24) зависимость "правил" была, очевидно, удалена из espresso-core
, Я не уверен, почему это было сделано, но примечания к выпуску говорят об изменении:
Исправлен POM-файл ядра эспрессо, чтобы не вытягивать зависимость "правил", вместо этого POM-файл для эспрессо-намерений вытягивал его. Это должно быть изменение NoOp для разработчиков, так как эспрессо-намерения нельзя использовать без эспрессо-ядра.
Вы можете исправить эту проблему, добавив следующую зависимость в app/build.gradle
:
androidTestImplementation 'com.android.support.test:rules:1.0.2'
AndroidX Test включает еще один API,ActivityScenario, который в настоящее время находится в стадии бета-тестирования. Этот API работает в различных средах тестирования и обеспечивает безопасность потоков в тестах, которые его используют. Вместо этого рассмотрите возможность использования ActivityScenarioRule или ActivityScenario.
import androidx.test.ext.junit.rules.ActivityScenarioRule
ActivityScenarioRule(YourActivity::class.java)