У меня есть приложение на основе веб-сервисов, то есть каждое действие вызывает конкретный веб-сервис и заполняет данные в представлении. Я еще не проводил никаких тестов, но я был в процессе перехода на Volley
и думал, что могу добавить и некоторые тесты.Стратегия тестирования для приложения для Android, основанного на веб-сервисах
Мне было интересно, какие стратегии тестирования должны быть для таких приложений. Я играю с gradle-android-test-plugin
, и хотя Robolectric
не играет хорошо с Volley
, он должен скоро (надеюсь).
В любом случае, поэтому структура я использую для моего приложения заключается в следующем:
ObjectJacksonRequest
класс, получить данные из веб-сервисов и разбирает их в POJOsRequestQueue
стандартной очереди запросов залпBaseActivity
родительская активность всех моих приложений, в которых находится объектRequestQueue
и другие распространенные вещи- Различные абстрактные действия, которые я использую для разделения кода пользовательского интерфейса из сети рабочий код. Например, AbstractAppleActivity расширяется любой деятельностью, для которой требуется яблоко. В абстрактной деятельности делаются такие вещи, как проверка того, остается ли Apple в памяти при возврате, загружать новые, настраивать адаптеры для просмотра списка и т. Д.
Вот вопросы, которые у меня есть. У меня есть интуиция в ответах, но я хочу услышать от сообщества. Я уверен, что есть другие вопросы тоже, что люди могли бы иметь, и мы можем добавить их в этот список:
- Что такое хороший способ проверить
ObjectJacksonRequest
объект для различных веб-сервисов? Должен ли я писать отдельный тест для каждой веб-службы, которая возвращает и объект? - Должен ли я тестировать сетевые запросы с помощью реальных веб-сервисов или высмеивать ответы?
- Должен ли я тестировать
BaseActivity
и абстрактные действия или действия, которые расширяют его для его функциональности? - Каков наилучший способ проверить активность, которая не имеет значений, вставленных до тех пор, пока веб-запрос не будет завершен? Например, активность, которая загружает список яблок.