Symfony 6 курс. Урок 14. Пишем парсер в Symfony/Console и покрываем Unit тестами с mock объектами

Опубликовано: 22 Апрель 2024
на канале: Mikhail Bukachuk
627
37

Открытый канал в телеге - https://t.me/PHPnoob
Чат взаимопомощи PHP - https://t.me/php_noob

Ссылка на репозиторий с кодом: https://github.com/bukachukcom/symfon...

В этом видео мы будем разбираться на практическом примере, как создавать приложения для планировщика задач Linux cron с помощью фреймворка Symfony и компонента Symfony/Console. Для извлечения данных с сайта мы также воспользуемся компонентом Symfony/Dom-crawler, чтобы избежать использование регулярных выражений для парсинга html. Создадим дополнительный сервис с использованием библиотеки Guzzle. Научимся передавать параметры и аргументы командной строки в консольной команде. Также сделаем вывод отладочной информации в консоль.

После этого напишем интеграционные тесты с использованием Mock объектов PHPUnit, чтобы избежать реальных http запросов в сеть. В конце видео разбем момент блокирования двойного старта консольной команды, а также вывод информации в консоль разными цветами. Разберемся как заблокировать параллельный запуск с помощью компонента Symfony/lock

Также к нашему парсеру добавим вывод отладочной информации с помощью LoggerInterface и ConsoleLogger класса.

Разберем пример тестирования консольной команды с помощью PHPUnit и CommandTester

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

   • Symfony фреймворк  

00:00 Вступление и обзор необходимых инструментов
01:00 Создаем команду с помощью bin/console make:command
04:00 Пишем код консольной команды
06:00 Пишем сервис для парсинга новостей c помощью Guzzle
09:00 Используем Symfony dom/crawler для парсинга html страницы
17:00 Показываем статьи на главной. Используем truncate фильтр в Twig
25:00 Добавляем логирование в консольную команду с помощью LoggerInterface
28:00 Добавляем log информацию в файл
30:00 Разбор работы параметра -vvv для консольных команд и логера
35:00 Добавляем аргументы и опции командной строки
40:00 Покрываем новый сервис Unit тестами
45:00 Делаем Mock объект на репозиторий Symfony
53:00 Делаем моки ответов сервера сайта, чтобы не делать http запросы в тестах
01:00:00 Используем willReturnCallback в PHPUnit
01:07:00 Тестирование консольной команды с помощью PHPUnit и CommandTester
01:11:00 Мокаем сервисы для юнит теста консольной команды
01:17:00 Вывод сообщений в консоль разными цветами
01:18:00 Блокировки от двойного запуска консольной команды с помощью Symfony/lock

#php #программирование #обучение #symfony #phpunit


Смотрите видео Symfony 6 курс. Урок 14. Пишем парсер в Symfony/Console и покрываем Unit тестами с mock объектами онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Mikhail Bukachuk 22 Апрель 2024, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 627 раз и оно понравилось 37 людям.