MVP c Router и Assembly и Unit test swift part 3

YOUTUBE · 23.11.2025 04:19

Ключевые темы и таймкоды

Создание роутера

0:00
  • Автор объясняет, что многие просили его создать роутер и показать, как его создавать, использовать и интегрировать в готовый проект.
  • Он создает новый файл и рекомендует повторять за ним для лучшего усвоения материала.
  • Создается новый файл "роутер", который будет содержать базовый тип "роутер мейн".
  • Этот тип будет задавать обязательные требования для всех остальных классов, включая наличие навигационного контроллера.

Создание протоколов и классов

1:15
  • Создается протокол "роутер мейн", который будет базовым типом для всех остальных протоколов.
  • Создается класс "роутер", который будет имплементировать или конформировать протокол "роутер мейн".
  • Создаются два дополнительных протокола: "роутер-протокол" и "ниша вью контроллер".
  • Эти протоколы будут задавать конкретные требования для других протоколов и классов.
  • Создаются классы, которые будут имплементировать или конформировать эти протоколы.

Реализация роутера и навигационного контроллера

4:51
  • Создание роутера и навигационного контроллера, с использованием инициализатора и навигационного контроллера.
  • Проверка наличия навигационного контроллера и передача его в роутер.

Тестирование и внедрение роутера

8:02
  • Использование тестов для покрытия кода и внедрения роутера в готовый проект.
  • Переделка кода для использования статических методов и избегания использования синглтона.

Реализация метода для передачи комментария

15:32
  • Реализация метода для передачи комментария из децила в роутер.
  • Передача комментария из децила в роутер и его передача в дитейл модуль.

Создание роутера и навигационного контроллера

17:29
  • В видео объясняется, как создать роутер и навигационный контроллер, которые будут обрабатывать бизнес-логику и передавать данные между собой.
  • Роутер вызывает метод презента, который передает ему комментарий, и роутер передает его дальше.

Добавление обработки тапа и настройка роутера

19:55
  • В презенте добавляется обработка тапа, которая вызывает роутер и возвращает пользователя обратно к родному контроллеру.
  • В роутере добавляется обработка тапа и проверка, что роутер был передан.

Создание навигационного контроллера и завершение работы

23:38
  • Создается навигационный контроллер, который вызывает роутер и передает ему данные.
  • В конце видео автор объясняет, что для запуска проекта нужно создать навигационный контроллер и роутер, а также передать их в билдер и роутер при старте.

Создание и тестирование компонента

24:50
  • Создание роутера и контроллера навигации.
  • Тестирование работы компонента с использованием юнит-тестов.

Реализация и тестирование презента

30:00
  • Создание презента и его тестирование с использованием юнит-тестов.
  • Создание и использование моков для тестирования презента.

Создание и тестирование нетворк сервиса

32:00
  • Создание и тестирование нетворк сервиса с использованием юнит-тестов.
  • Использование моков для тестирования нетворк сервиса.

Тестирование работы компонента

36:00
  • Тестирование работы компонента с использованием юнит-тестов.
  • Проверка работы кэша комментариев и сравнение с ожидаемыми результатами.

Тестирование позитивного сценария

41:58
  • Автор тестирует позитивный сценарий, где комментарий возвращается и не нил.
  • Протестирован негативный сценарий, где комментарий не возвращается.

Тестирование роутера

48:55
  • Автор тестирует роутер, используя юни-тесты.
  • Создан роутер, который тестирует и проверяет, что контроллер был запущен.

Тестирование юни-тестов

55:23
  • Автор запускает юни-тесты и проверяет, что все тесты прошли успешно.
  • Проверено покрытие юни-тестами, где 64% кода покрыто тестами.