Я пытаюсь написать тест инструментария для Android, который останавливается (onPause()
, затем onStop()
) и перезапускает текущую активность. Я пробовалКак остановить и перезапустить активность в тесте на андроид?
activity.finish();
activity = getActivity();
... но это не работает должным образом.
Целью теста является утверждение, что данные формы хранятся во время метода onPause()
и перечитываются во время метода onStart()
. Он работает при выполнении этого вручную, но тест терпит неудачу, из чего я делаю вывод, что activity.finish()
представляется неправильным способом остановки и перезапуска активности.
Edit: Моя главная проблема, кажется, была проблема синхронизации. После перезапуска действия тестовый бегун не дождался завершения всех обработчиков событий. Следующая строка останавливает выполнение теста, пока деятельность не находится в режиме ожидания:
getInstrumentation().waitForIdleSync()
Кроме того, обратите внимание на принятый ответ на более ценную информацию о жизненном цикле.
Что именно не работает должным образом? – yorkw
@yorkw Я обновил вопрос, спасибо за комментарий. –
Что вы имеете в виду, когда говорите «делать это вручную?». –