アプリには、ログイン アクティビティ (loginActivity) と 2 つ目のアクティビティ (mainActivity) の 2 つのアクティビティがあります。Espresso を使用して loginActivity でのログインをテストしたいので、次のテストを作成しました。
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {
public LoginActivityTest() {
super(LoginActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
getActivity();
}
public void testLogin() throws Exception {
onView(withId(R.id.button_log_in)).perform(click());
onView(withId(R.id.container)).check(matches(isDisplayed()));
}
}
問題は、アプリの起動時に、ユーザーが以前にログインしていた場合、loginActivity がすぐに mainActivity を起動し、テストが実行されると、次のエラーで失敗することです。
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.test.android.development:id/R.id.button_log_in
注: テストを実行する前にアプリを起動してログアウトすると、エラーは表示されなくなります。
前もって感謝します!