
Testing Symfony
PHPUnit, тест-кейси, функціональні тести, фікстури бази даних, mocking, code coverage, Panther
1Який тестовий фреймворк використовується в Symfony за замовчуванням?
Який тестовий фреймворк використовується в Symfony за замовчуванням?
Відповідь
PHPUnit — це офіційний тестовий фреймворк, інтегрований у Symfony. Symfony надає пакет symfony/test-pack, який включає PHPUnit та базові класи, такі як WebTestCase і KernelTestCase, для спрощення тестування. PHPUnit є фактичним стандартом для тестування в PHP і пропонує багату екосистему асерцій та можливостей.
2Який базовий клас слід використовувати для тестування сервісу Symfony без завантаження HTTP-ядра?
Який базовий клас слід використовувати для тестування сервісу Symfony без завантаження HTTP-ядра?
Відповідь
KernelTestCase — це базовий клас для інтеграційних тестів, яким потрібен доступ до контейнера сервісів без завантаження HTTP-рівня. Він запускає ядро Symfony та надає доступ до сервісів через self::getContainer(). Він легший за WebTestCase, оскільки не ініціалізує HTTP-клієнт.
3Як отримати доступ до контейнера сервісів у тесті, що розширює KernelTestCase?
Як отримати доступ до контейнера сервісів у тесті, що розширює KernelTestCase?
Відповідь
У Symfony 5.3+ статичний метод self::getContainer() є рекомендованим способом доступу до контейнера після запуску ядра за допомогою self::bootKernel(). Цей метод повертає тестовий контейнер, який робить усі сервіси публічними для спрощення тестування. Старий синтаксис self::$container є застарілим.
Який клас використовувати для тестування контролерів із симуляцією HTTP-запитів?
Як перевірити, що HTTP-запит повертає код статусу 200 у функціональному тесті?
+19 питань зі співбесід
Інші теми співбесід Symfony
Сучасний PHP (8.1+)
Основи Symfony
Routing & Controllers
Twig & Templates
Основи Doctrine ORM
Форми Symfony
Валідація даних
Dependency Injection & Services
Security & Authentication
Doctrine для просунутих
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache та продуктивність
Workflow Component
Mailer Component
Переклади та i18n
EasyAdmin Bundle
Архітектура Symfony
Продуктивність та оптимізація
Розширена безпека
Користувацькі бандли
Microservices із Symfony
Real-time & WebSockets
Deployment & DevOps
Опануй Symfony для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно