PHP Unit тестирование. Урок 5. Покрываем роутер юнит тестами с моками и стабами

Опубликовано: 28 Март 2026
на канале: Mikhail Bukachuk
1,084
54

Видео "Покрываем роутер юнит тестами с моками и стабами" посвящено написанию юнит тестов для маршрутизатора (роутера) в приложении. Основное внимание уделяется использованию моков и стабов для создания изолированных и контролируемых условий тестирования.


Установка PHPUnit:    • PHP Unit тестирование. Урок 1. Установка ф...  
Дата провайдеры в PHPUnit:    • PHP Unit тестирование.  Урок 2. Использова...  
setUp и tearDown:    • PHP Unit тестирование.  Урок 3. Инициализа...  

00:00 Вступление и обзор маршрутизатора
01:00 Установка Phpunit с помощью composer
03:00 Первый запуск phpunit команды
05:00 Пишем первый unit тест метода Route::getPattern
07:30 Создаем data provider для тест метода
10:20 Тестируем метод getUri
13:00 Тестируем класс RouteCollection
18:00 Тестируем класс RouteMatcher без моков
25:00 Пишем интеграционный тест index.php
29:00 Тестируем выброс исключения в RouteMatcher
30:00 Пишем тест RouterMatcher с использованием Mock объектов
37:00 Возможные проблемы тестов с Мок объектами

Основные темы видео:
Введение в юнит тестирование:

Объяснение целей юнит тестирования.
Важность тестирования отдельных компонентов системы.
Что такое моки и стабы:

Моки (Mocks): Объекты, которые позволяют имитировать поведение реальных объектов, а также задавать ожидания и проверять взаимодействие с этими объектами.
Стабы (Stubs): Упрощенные версии объектов, которые возвращают предопределенные ответы и не имеют логики.
Пример создания роутера:

Обзор кода роутера, который требуется покрыть тестами.
Разъяснение функций и методов роутера.
Написание тестов с использованием моков:

Создание моков для зависимостей роутера.
Примеры тестов, которые проверяют корректное взаимодействие роутера с его зависимостями.
Настройка и проверка ожиданий моков.
Использование стабов для тестирования:

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

Как выбрать между моками и стабами в зависимости от контекста.
Лучшие практики написания и организации тестов.
Инструменты и библиотеки, которые могут помочь в тестировании (например, Jest, Sinon).
Заключение:

Резюме важности юнит тестирования и использования моков и стабов.
Ответы на вопросы и разбор типичных ошибок.
Видео нацелено на разработчиков, которые хотят улучшить свои навыки тестирования и повысить надежность и качество своего кода, используя современные подходы и инструменты.

#php #phpunit #программирование