DevPrep

Все темы › Тестирование программного обеспечения

Как подменить сеть в тестах: протокол-клиент или URLProtocol?

Middle PRO

Суть

Сеть подменяют на одном из двух уровней. Протокол-клиент: код зависит от своего HTTPClient, в тесте подставляется стаб, который сразу возвращает Data. URLProtocol: код работает с настоящим URLSession, но в его конфигурацию регистрируется подкласс URLProtocol, который перехватывает запросы и отвечает заготовкой. Первый способ проверяет логику над сетью, второй — сам сетевой слой: сборку URLRequest, заголовки, статус-коды и декодирование.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store