Android Studio - модульные тесты имитируют перезапуск приложения - PullRequest
2 голосов
/ 02 марта 2020

Здравствуйте. Я хотел бы использовать модульные тесты, чтобы проверить, работает ли моя структура сохранения данных. Проблема в том, что я понятия не имею, как программно имитировать перезапуск.

Вот пример модульного теста.

(AppData - это просто класс для сохранения различных вещей, таких как список покупок с несколькими записями.)

@Test
    public void getDataAfterRestart(){
        //Save a Entry
        AppData appData = new AppData();
        appData.addShoppingEntry(new ShoppingEntry("Bread"));
        appData.save();


        //************************
        //Restart the Application*
        //************************


        //After the App reopend it self check if the Entry is still here
        int entries = appData.getShoppingEntries().size();

        assertEquals(1,entries);
}

Какие существуют хорошие практики для решения подобных проблем?

Заранее спасибо!

1 Ответ

4 голосов
/ 02 марта 2020

Перезапуск приложения подразумевает, что вам необходимо взаимодействовать с базовой операционной системой Android, чтобы проверить правильность поведения. Это означает, что вам нужно написать инструментальный тест, а не юнит-тест. В Android мы пишем Инструментированные тесты, используя инструменты из библиотеки тестирования в AndroidX . В этом случае вам, вероятно, потребуется использовать UI Automator , чтобы напрямую взаимодействовать с устройством, чтобы остановить приложение и затем перезапустить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...