
Testing Symfony
PHPUnit, Test Cases, funktionale Tests, Datenbank-Fixtures, Mocking, Code Coverage, Panther
1Welches ist das Standard-Test-Framework, das von Symfony verwendet wird?
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.
2Welche Basisklasse sollte verwendet werden, um einen Symfony-Dienst zu testen, ohne den HTTP-Kernel zu laden?
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.
3Wie greift man in einem Test, der KernelTestCase erweitert, auf den Service-Container zu?
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.
Welche Klasse sollte verwendet werden, um Controller mit Simulation von HTTP-Anfragen zu testen?
Wie überprüft man in einem funktionalen Test, dass eine HTTP-Anfrage einen Statuscode 200 zurückgibt?
+19 Interview-Fragen
Weitere Symfony-Interviewthemen
Modernes PHP (8.1+)
Symfony-Grundlagen
Routing & Controllers
Twig & Templates
Doctrine ORM Grundlagen
Symfony Formulare
Datenvalidierung
Dependency Injection & Services
Security & Authentication
Doctrine Fortgeschritten
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Mailer Component
Übersetzungen & i18n
EasyAdmin Bundle
Symfony-Architektur
Performance & Optimierung
Erweiterte Sicherheit
Custom Bundles
Microservices mit Symfony
Real-time & WebSockets
Deployment & DevOps
Meistere Symfony für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten