Reputation: 2394
In Android Studio when I debug instrumentation test, the test won't stop on any breakpoint. Debugging unit tests works. I have a simple instrumented test that only checks if username edittext is displayed:
@RunWith(AndroidJUnit4.class)
public class LogonActivityTest {
@Rule
public ActivityTestRule<LogOnActivity> mActivityRule = new ActivityTestRule<>(LogOnActivity.class, true, false);
@Before
public void setUp() throws Exception {
mActivityRule.launchActivity(new Intent()); // breakpoint here
}
@Test
public void testSimple() throws Exception {
onView(withId(R.id.act_logon_et_username)).check(matches(isDisplayed())); // breakpoint here
}
}
In build.gradle
I have properly set
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
How can I debug instrumented tests? I'm using Espresso, Mockito and Dagger 2.
Upvotes: 22
Views: 13674
Reputation: 1995
For me, switching to "Run Android instrumented Tests using Gradle" works fine.
Go to Android Studio -> Preferences and toggle this option.
If it is already enabled, try disabling it and hope for the best.
Upvotes: 2
Reputation: 1203
You can solve this a couple of ways Tomask.
You can pass the option -e debug true in the configuration for your test if you're invoking the test from the command line.
Otherwise, and more simply, you should choose Debug instead of Run when starting your tests from android studio. If you click Run for your test from android studio, the option -e debug false gets set and the test(s) will not stop execution at breakpoints.
Hope this helps!
Upvotes: 12