2015-09-18 7 views
0

Не получать обратный вызов после дооснащения при тестировании (под JVM).Модернизация не выполняет обратный вызов при выполнении робототехнических тестов

Испытательное приложение с Robolectric (3.0), Wiremock (1.57: автономное) и Mockito (1.10.19).

Приложение использует Retrofit (1.9) для подключения к API-интерфейсу back-end. В приложении есть службы, которые вызывают API через Retrofit, и действия связаны с сервисами.

Отладка и протоколы тестового прогона показывают, что действие вызывает услугу, переоснащение сервисных звонков и возврат доработанных данных из Wiremock (как и ожидалось).

I/com.levld.client.rest.RestAdapterFactory: < --- КОНЕЦ HTTP (6208 байт тела) Вт/com.levld.client.rest.RetrofitErrorHandler: Внутренняя ошибка сервера

Внутренняя серверная ошибка предназначена для запуска обработчика ошибок Retrofit (код состояния, установленный Wiremock).

При отладке обработчика ошибок обработка прекращается, когда Retrofit пытается выполнить обратный вызов службы. Переменные в отладчике показывают, что обратный вызов настроен на вызывающую службу.

Ваша помощь и предложения очень ценятся!

ответ

0

Решено путем установки синхронного исполнителя для дооснащения. Это вызывает синхронное выполнение вызовов api, но все же возвращает результаты как обратные вызовы вызывающим службам. Асинхронный функциональный код на уровне сервисов не изменился!

Синхронный код исполнителей: https://stackoverflow.com/a/27341424/4413233.

p.s. Robolectric фактически предназначен для модульных испытаний

 Смежные вопросы

  • Нет связанных вопросов^_^