DevPrep

Все темы › Архитектура программного обеспечения

Как тестировать Presenter без UIKit?

Middle PRO

Суть

Presenter в MVP общается с View через протокол, а с сервисами — через инжектированные протоколы. Значит, в тесте:

  1. вместо View подставляем spy — класс, который реализует протокол и записывает вызовы;
  2. вместо сервиса — stub, который возвращает заготовленный результат;
  3. вызываем метод Presenter'а и проверяем, что и с какими данными он сказал View.

UIKit не импортируется, контроллер не создаётся, симулятор не нужен — тест выполняется за миллисекунды и может идти на macOS-хосте.

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

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

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

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

Скачать DevPrep в App Store