Модульное тестирование Android: как дождаться, пока Activity обновит пользовательский интерфейс

Я пытаюсь проверить свой пользовательский интерфейс в Activity. Однако это действие выполняет некоторые фоновые сетевые операции и в ответ обновляет его фрагменты до фактического компонента, который я пытаюсь протестировать.

Мой модульный тест терпит неудачу, потому что он пытается утверждать NotNull для представлений, которые еще не были отображены на экране.

Как я могу сообщить своему модульному тесту, что Activity выполнила эту фоновую операцию и все должно быть готово для установки и тестирования?


person Frank Sposaro    schedule 28.06.2012    source источник
comment
Посмотрите, есть ли ответы asy/10491965#10491965">здесь помогает.   -  person yorkw    schedule 29.06.2012


Ответы (1)


После некоторых исследований и еще нескольких игр кажется, что есть два способа сделать это. Сначала вы можете, как предлагает @yorkw, использовать sleep() и попытаться все рассчитать.

Моя интуиция подсказывает мне, что это не лучшая идея. Есть только куча проблем, с которыми вы можете столкнуться при этом. Лучшим решением было бы учитывать тестирование при написании приложения. Я посмотрел несколько видео о модульном тестировании, и это выступление в Google выделялось. Разговоры о чистом коде После просмотра этого видео и попытки написать тесты для трудно тестируемого кода я совершенно новая оценка написания модульного теста и отделения моей бизнес-логики от логики реализации/отображения.

Таким образом, простой ответ заключается в том, чтобы лучше реализовать свое приложение, чтобы избежать этих проблем.

person Frank Sposaro    schedule 06.07.2012