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

Открытый канал в телеге -
Чат взаимопомощи PHP -
Ссылка на репозиторий с кодом:
В этом видео мы будем разбираться на практическом примере, как создавать приложения для планировщика задач 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

Смотрите также