Cannot resolve ActivityTestRule after upgrading dependencies. Unable to import ActivityTestRule

Navjacinth Mathew picture Navjacinth Mathew · Apr 27, 2018 · Viewed 10k times · Source

I have written instrumentation tests which was working fine, but now getting error cannot resolve ActivityTestRule error after upgrading dependencies to

androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

I am using android support version 27.1.1

It is working fine with dependencies

androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

Answer

Rapunzel Van Winkle picture Rapunzel Van Winkle · Apr 27, 2018

In the most recent update of the Testing Support Library (2018-04-24), the "rules" dependency was apparently removed from the espresso-core. I'm not sure why this was done, but the release notes say this about the change:

Fixed espresso-core POM file to not pull in "rules" dependency, instead have espresso-intents POM pull it. This should be a NoOp change for developers since espresso-intents cannot be used without espresso-core.

You can fix this problem by adding the following dependency to app/build.gradle:

androidTestImplementation 'com.android.support.test:rules:1.0.2'