Не удается разрешить 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)
Другие вопросы по тегам