Unit-testing LiveData and other common observability problems
Важно помнить, что
LiveData посылает обновления, только в том случае, когда у нее есть хотя бы один подписчик (observer). Это может привести к ошибкам в ваших тестах (успешно их прохождению или нет).В статье рассматриваются ошибки и рекомендации по использованию
LiveData в тестах:👉 Используйте
LiveData.getOrAwaitValue(timeout: Long) для получения результата из LiveData в unit тестах👉 Используйте InstantTaskExecutorRule для предотвращения проблем с многопоточностью при работе с
LiveData👉 Частая ошибка - используйте один и тот же объект
ViewModel, если он шарится между несколькими Fragment