Symfony 6 курс. Урок 13. Написание Unit тестов в Symfony фреймворке

preview_player
Показать описание


На протяжении этого видео мы погрузимся в мир тестирования в Symfony 6 с помощью фреймворка PHPUnit. Мы начнем с изучения основных принципов написания юнит-тестов и их ценности в разработке программного обеспечения. Затем мы рассмотрим, как Symfony 6 упрощает создание и выполнение тестов благодаря своим встроенным инструментам и функциям.

Мы продемонстрируем, как создать и запустить простые юнит-тесты для классов и методов в Symfony 6, используя функциональность PHPUnit, встроенную в фреймворк. Вы увидите, как легко настраивать среду тестирования и как быстро запускать тесты для обеспечения качества вашего кода.

Рассмотрим работу специального бандла zenstruck/foundry который поможет нам проинициализировать объекты базы данных и создать структуру базы данных.
С Zenstruck Foundry вы можете создавать тестовые данные в вашем приложении с помощью простого и интуитивно понятного API. Мы рассмотрим основные возможности Foundry, такие как создание объектов, настройка их свойств, а также связывание между объектами.

Это видео также покажет, как Zenstruck Foundry интегрируется с Symfony и PHPUnit, что делает его идеальным инструментом для использования в ваших тестовых сценариях. Вы узнаете, как легко создавать и использовать тестовые данные в ваших юнит-тестах, функциональных тестах и интеграционных тестах.

В конце видео мы обсудим лучшие практики и стратегии для написания эффективных юнит-тестов в Symfony 6, чтобы вы могли улучшить качество вашего кода и обеспечить его стабильность в долгосрочной перспективе.

*Все видео курса:*

00:00 Зачем нужны unit тесты
00:54 Установка тест компонента
02:30 Создаем первый тест с помощью команды bin/console make:test
05:00 Настраиваем отдельную тестовую базу с постфиксом _test
07:00 Работаем с контейнером Symfony, чтобы протестировать репозиторий
08:00 Устанавливаем zenstruck/foundry для инициализации тестовой базы данных
10:00 Создаем первую Factory для Entity Blog
12:00 Выключем вывод deprecation warnings в консоль во время работы тестов
14:00 Добавляем assertCount на массив блогов, которые получили из репозитория
18:50 Создаем новый Unit тест для тестирования контроллера
19:40 Проверяем содержимое html ответа от контроллера
24:00 Создаем объекты перед стартом интеграционного теста контроллера
25:30 Проверяем unit тест путем создания ошибок в коде
27:00 Выносим подключение трейтов zenstruck/foundry в отдельный класс родитель

#php #программирование #обучение #symfony
Рекомендации по теме
Комментарии
Автор

Забыл указать, что в настройках zenstruck_foundry нужно указать reset method миграции, иначе собирает базу из аннотаций объектов, для этого нужно проверить настройки должны быть в файле такие:
database_resetter:
# if you need to activate it you have to disable `dama_doctrine_test`
enabled: false
orm:
reset_mode: migrate # здесь выставляем миграции

bukachuk_php
Автор

Круто круто, хорошие видосы, быстро и по существу все

remitmaster