Я использую архитектуру MVVM и Dagger 2 в своем приложении. У меня есть хранилище, которое получает данные с серверов, и когда данные извлекаются, ViewModel уведомляет наблюдателя LiveData, который вызывает метод updateUI()
из моей Activity.
Итак, когда я проверяю, какие виды видны сэспрессо, я хочу подождать, пока не позвонят updateUI()
. Я не могу издеваться над ViewModel, так как использую Dagger 2, но, за исключением того, что это интеграционный тест, я не хочу делать это в первую очередь.
Thread.sleep()
было бы ужасно иНаивное решение для этого, так как слишком малое время ожидания может привести к сбою теста, слишком большое его количество приведет к потере ценного времени, и это также зависит от тестирования и сетевой среды!
Так что же мы делаемделать здесь, каково оптимальное решение этой проблемы?