Тестирование и ответ асинхронного запроса NSURLConnection с Xcode

Я хотел бы воспользоваться тестовыми классами и методами в XCode, чтобы проверить ответы, которые я получаю от нескольких асинхронных запросов сервисов HTTP, которые делает мое приложение, чтобы видеть, правильно ли я получаю и анализирую ожидаемые параметры.

Ответы, которые я получаю, представлены в формате JSON, и мое приложение анализирует их для создания пользовательских объектов. Я называю услуги с помощью объекта, который использует NSURLConnection соединение и реализует NSURLConnectionDelegate протокол для получения ответов. Я не могу проверить это, так как XCTestCase класс для NSURLConnectionDelegate Протокол, похоже, не работает.

Спасибо

1 ответ

Я бы посоветовал вам неправильно провести такой тест.

Использование реальных данных и выполнение выборки по сети - это не то, что вы тестируете. Вы просто хотите проверить свой анализ возвращенных данных.

Один из подходов к этому заключается в использовании такой заглушки, как OHHTTPStubs или Nocilla.

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

Это обеспечивает контролируемую среду для выполнения ваших тестов и является намного лучшей идеей, чем выполнение выборки.

Еще одним преимуществом является то, что вы можете писать код против этих тестов, пока вы коммутируете и без подключения к интернету:)

Другие вопросы по тегам