Я пишу тест, используя ActivityInstrumentationTestCase2.
Когда эмулятор открыт и активность может выйти на передний план, мои тесты работают отлично.
Когда я запускаю тесты, когда телефон заблокирован, активность не создается.
Похоже, это «имеет смысл», поскольку нет никакой причины загружать активность, если она не может выйти на передний план (телефон заблокирован!). Однако при запуске набора тестов это приводит к ложным негативам ...
Вот пример теста
public void testSplashscreenRedirectsSomewhereAfterTimeout() throws Exception {
Instrumentation.ActivityMonitor monitor = getInstrumentation().addMonitor(SomeActivity.class.getName(), null, false);
getActivity(); // to make sure that the activity gets launched
Activity activity = monitor.waitForActivityWithTimeout(10000); // waiting for the other activity
assertNotNull("BaselineActivity was not called", activity);
}
когда телефон заблокирован, getActivity () возвращает правильное действие, но его метод onCreate () никогда не вызывается.
Есть ли способ заставить тесты работать, даже если экран заблокирован?