Symfony

Testing Symfony

PHPUnit, тест-кейси, функціональні тести, фікстури бази даних, mocking, code coverage, Panther

22 питань зі співбесід·
Mid-Level
1

Який тестовий фреймворк використовується в Symfony за замовчуванням?

Відповідь

PHPUnit — це офіційний тестовий фреймворк, інтегрований у Symfony. Symfony надає пакет symfony/test-pack, який включає PHPUnit та базові класи, такі як WebTestCase і KernelTestCase, для спрощення тестування. PHPUnit є фактичним стандартом для тестування в PHP і пропонує багату екосистему асерцій та можливостей.

2

Який базовий клас слід використовувати для тестування сервісу Symfony без завантаження HTTP-ядра?

Відповідь

KernelTestCase — це базовий клас для інтеграційних тестів, яким потрібен доступ до контейнера сервісів без завантаження HTTP-рівня. Він запускає ядро Symfony та надає доступ до сервісів через self::getContainer(). Він легший за WebTestCase, оскільки не ініціалізує HTTP-клієнт.

3

Як отримати доступ до контейнера сервісів у тесті, що розширює KernelTestCase?

Відповідь

У Symfony 5.3+ статичний метод self::getContainer() є рекомендованим способом доступу до контейнера після запуску ядра за допомогою self::bootKernel(). Цей метод повертає тестовий контейнер, який робить усі сервіси публічними для спрощення тестування. Старий синтаксис self::$container є застарілим.

4

Який клас використовувати для тестування контролерів із симуляцією HTTP-запитів?

5

Як перевірити, що HTTP-запит повертає код статусу 200 у функціональному тесті?

+19 питань зі співбесід

Опануй Symfony для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно