2017-02-07 6 views
0

Здравствуйте, я должен написать тест для своей деятельности, но до этого Activity a SplashActivity должен запускаться первым за 2500 мс.Как разрешить эспрессо дождаться появления экрана Splash, а затем начать тесты

Мой тестовый класс:

@RunWith(AndroidJUnit4.class) 
public class GuestActivityTest{ 

    @Rule 
    public ActivityTestRule<GuestActivity> mActivityTestRule = new ActivityTestRule<GuestActivity>(GuestActivity.class, true, false){ 
     @Override 
     protected void afterActivityLaunched() { 
      super.afterActivityLaunched(); 
     } 
    }; 



    @Test 
    public void goToMenuActivity() { 
     onView(withId(R.id.button_log_in)).perform(typeText("Works")); 
     onView(withId(R.id.menu_btn)).perform(click()); 
    } 
} 

тест падает каждый раз, потому что инициализация в SplashActivity не была выполнена. Как сообщить эспрессо, что Activity уже загружен или дождаться завершения SplashActivity?

ответ

1

Попробуйте это:

Сон нить в соответствии с задержкой выполнения приложения.

@Test 
public void goToMenuActivity() { 
    try { 
    Thread.sleep(60000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
    onView(withId(R.id.button_log_in)).perform(typeText("Works")); 
    onView(withId(R.id.menu_btn)).perform(click()); 
} 
+0

Это не так красиво, но оно работает без тонны кода. – anil