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