Symfony

Testing Symfony

PHPUnit, Test Cases, funktionale Tests, Datenbank-Fixtures, Mocking, Code Coverage, Panther

22 Interview-Fragen·
Mid-Level
1

Welches ist das Standard-Test-Framework, das von Symfony verwendet wird?

Antwort

PHPUnit ist das offizielle Test-Framework, das in Symfony integriert ist. Symfony stellt das Paket symfony/test-pack bereit, das PHPUnit sowie Basisklassen wie WebTestCase und KernelTestCase für einfacheres Testen enthält. PHPUnit ist der De-facto-Standard für PHP-Tests und bietet ein reichhaltiges Ökosystem an Assertions und Funktionen.

2

Welche Basisklasse sollte verwendet werden, um einen Symfony-Dienst zu testen, ohne den HTTP-Kernel zu laden?

Antwort

KernelTestCase ist die Basisklasse für Integrationstests, die Zugriff auf den Service-Container benötigen, ohne die HTTP-Schicht zu laden. Sie startet den Symfony-Kernel und ermöglicht den Zugriff auf Dienste über self::getContainer(). Sie ist leichter als WebTestCase, da sie den HTTP-Client nicht initialisiert.

3

Wie greift man in einem Test, der KernelTestCase erweitert, auf den Service-Container zu?

Antwort

In Symfony 5.3+ ist die statische Methode self::getContainer() die empfohlene Möglichkeit, auf den Container zuzugreifen, nachdem der Kernel mit self::bootKernel() gestartet wurde. Diese Methode gibt einen Test-Container zurück, der alle Dienste für einfacheres Testen öffentlich macht. Die alte Syntax self::$container ist veraltet.

4

Welche Klasse sollte verwendet werden, um Controller mit Simulation von HTTP-Anfragen zu testen?

5

Wie überprüft man in einem funktionalen Test, dass eine HTTP-Anfrage einen Statuscode 200 zurückgibt?

+19 Interview-Fragen

Meistere Symfony für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten