Мне нужно протестировать вариант использования, когда приложение запускается из чистого состояния - то есть процесс не запускался до начала теста. Из того, что я вижу из logcat, все контрольные тесты выполняются под одним экземпляром/сеансом процесса, поэтому результат теста в моем случае зависит от того, выполняется ли он как # 1 или нет. Это не должно быть так, как мы все знаем, модульные тесты (или контрольные тесты) должны быть автономными.
Есть ли способ со стандартными инструментами и функциями тестирования инструментария Android, которые я могу заставить TestRunner перезапустить процесс до данного теста? Если нет, есть ли хаки или сторонние библиотеки, которые могут помочь мне в этом? Или я могу сказать, что тест X должен быть запущен первым (худший вариант, но все же)?
В частности, мой тест относится к запуску активности через намерения и флаги намерения (например, FLAG_ACTIVITY_CLEAR_TOP
) в дополнение к режиму запуска Activity (например, singleTop
) и состоянию процесса, очень диктует результат теста.