Я написал инструментальные тесты, которые работали нормально, но теперь получение ошибки не может разрешить ошибку 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'
23
Navjacinth Mathew 27 Апр 2018 в 15:52

2 ответа

Лучший ответ

В самом последнем обновлении библиотеки поддержки тестирования (2018-04-24) зависимость "правила" была явно удалена из espresso-core. Я не уверен, почему это было сделано, но говорится об изменении:

Исправлен файл POM ядра эспрессо, который не втягивал зависимость «правила», вместо этого POM вытягивал его. Это должно быть изменением NoOp для разработчиков, поскольку интенты эспрессо нельзя использовать без ядра эспрессо.

Вы можете решить эту проблему, добавив следующую зависимость к app/build.gradle:

androidTestImplementation 'com.android.support.test:rules:1.0.2'
47
Rapunzel Van Winkle 28 Апр 2018 в 02:10

AndroidX Test включает еще один API, ActivityScenario , который в настоящее время находится в стадии бета-тестирования. Этот API работает в различных средах тестирования и обеспечивает безопасность потоков в тестах, которые его используют. Вместо этого рассмотрите возможность использования ActivityScenarioRule или ActivityScenario .

import androidx.test.ext.junit.rules.ActivityScenarioRule

ActivityScenarioRule(YourActivity::class.java)
0
Bacar Pereira 26 Июл 2020 в 08:30