Тестирование и ответ асинхронного запроса NSURLConnection с Xcode
Я хотел бы воспользоваться тестовыми классами и методами в XCode, чтобы проверить ответы, которые я получаю от нескольких асинхронных запросов сервисов HTTP, которые делает мое приложение, чтобы видеть, правильно ли я получаю и анализирую ожидаемые параметры.
Ответы, которые я получаю, представлены в формате JSON, и мое приложение анализирует их для создания пользовательских объектов. Я называю услуги с помощью объекта, который использует NSURLConnection
соединение и реализует NSURLConnectionDelegate
протокол для получения ответов. Я не могу проверить это, так как XCTestCase
класс для NSURLConnectionDelegate
Протокол, похоже, не работает.
Спасибо
1 ответ
Я бы посоветовал вам неправильно провести такой тест.
Использование реальных данных и выполнение выборки по сети - это не то, что вы тестируете. Вы просто хотите проверить свой анализ возвращенных данных.
Один из подходов к этому заключается в использовании такой заглушки, как OHHTTPStubs или Nocilla.
Таким образом, вы можете загружать файлы JSON и проверять свой синтаксический анализ, или вы можете даже проверить на различные условия, такие как плохие сети или сетевые ошибки.
Это обеспечивает контролируемую среду для выполнения ваших тестов и является намного лучшей идеей, чем выполнение выборки.
Еще одним преимуществом является то, что вы можете писать код против этих тестов, пока вы коммутируете и без подключения к интернету:)