постоянно направляет на раздел https://symfony.com/doc/current/console.html#testing-commands
Ситуация: пишу пакет, работающий под симфони в том числе.
Кейс: в пакете есть консольная команда Symfony, которую нужно протестировать.
Что не получается:
1. Не нашёл как получить корневой путь проекта в симфе (в ларе это хелпер base_path()). $this->get('kernel')->getProjectDir() не срабатывает - кернел не видит.
2. Для тестирования пакетов для Лары есть orchestra/testbench. А что есть для симфони? Пытался делать по доке, но постоянно получаю ошибку о несуществующем Kernel. И как ни гуглю проблему, в 90% случаев он приводит меня именно в этот раздел доки...
Кто может кратко сказать что нужно искать или скинуть линк на подходящий раздел доки и/или на какой-нибудь пакет для симфы, где есть её тестирование?
https://symfony.com/doc/current/console.html#testing-commands у вас правильный родитель у класса теста?
Базовый класс: https://github.com/andrey-helldar/env-sync/blob/features/symfony/tests/Cases/SymfonyTestCase.php Класс запуска: https://github.com/andrey-helldar/env-sync/blob/features/symfony/tests/Symfony/MainTest.php Код не дописан, сижу думаю где что. Сейчас наткнулся на репу https://github.com/snc/SncRedisBundle/blob/master/Tests/Command, пытаюсь по аналогии сделать.
Так. Первые две проблемы решил, тесты запускаются, всё норм: Тест, Абстрактный класс Появился ещё один вопрос: При тестировании пакетов для Laravel при запуске тестов можно переопределить конфиг. Как правильно сделать такое же для Symfony?
сделай test env и напиши service.yaml и config yaml
Смотрел несколько пакетов - ни в одном не встречал таких файлов
у тебя конфиг пакета в config.yaml имеет корневой ключ типа ..... redis-bundle: x: y
То бишь просто в корень проекта сунуть и сам должен подтянуться?
Обсуждают сегодня