Имитация состояния восстановления активности / фрагмента при воссоздании с помощью ViewModel с использованием Espresso - PullRequest
0 голосов
/ 08 мая 2020

Я использую Espresso в инструментальных тестах моего приложения mvvm, и почти все работает нормально. Но я хочу охватить случай сохранения / восстановления состояния активности во время восстановления активности. И я использую это для имитации этого сценария:

InstrumentationRegistry.getInstrumentation() .runOnMainSync { activity.recreate() }

И это работает, вызывается onSaveInstanceState(outState: Bundle), а также onCreate(savedInstanceState: Bundle?) с savedInstanceState с моими сохраненными переменными.

Проблема в том, что onCleared моей ViewModel не вызывается, потому что он не уничтожается во время вызова activity.recreate().

Главное здесь - когда Activity воссоздается, он получает тот же экземпляр ViewModel, созданный ранее, и я не хочу, чтобы это произошло. Я хочу, чтобы он работал таким же образом, когда я вручную включаю Не сохранять действия .

Есть ли способ имитировать уничтожение как Activity / Fragment, так и ViewModel с помощью Espresso?

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