
Testing Symfony
PHPUnit, test cases, functional tests, database fixtures, mocking, code coverage, Panther
1Quel est le framework de tests par défaut utilisé par Symfony ?
Quel est le framework de tests par défaut utilisé par Symfony ?
Réponse
PHPUnit est le framework de tests officiel intégré dans Symfony. Symfony fournit le package symfony/test-pack qui inclut PHPUnit et des classes de base comme WebTestCase et KernelTestCase pour faciliter les tests. PHPUnit est le standard de facto pour les tests en PHP et offre un écosystème riche d'assertions et de fonctionnalités.
2Quelle classe de base utiliser pour tester un service Symfony sans charger le kernel HTTP ?
Quelle classe de base utiliser pour tester un service Symfony sans charger le kernel HTTP ?
Réponse
KernelTestCase est la classe de base pour les tests d'intégration qui nécessitent l'accès au container de services sans charger la couche HTTP. Elle démarre le kernel Symfony et permet d'accéder aux services via self::getContainer(). C'est plus léger que WebTestCase car elle n'initialise pas le client HTTP.
3Comment accéder au container de services dans un test qui étend KernelTestCase ?
Comment accéder au container de services dans un test qui étend KernelTestCase ?
Réponse
Dans Symfony 5.3+, la méthode statique self::getContainer() est la façon recommandée d'accéder au container après avoir démarré le kernel avec self::bootKernel(). Cette méthode retourne un container de test qui rend tous les services publics pour faciliter les tests. L'ancienne syntaxe self::$container est dépréciée.
Quelle classe utiliser pour tester des controllers avec simulation de requêtes HTTP ?
Comment vérifier qu'une requête HTTP retourne un code de statut 200 dans un test fonctionnel ?
+19 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Doctrine ORM - Les bases
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Performance & Optimisation
Sécurité avancée
Custom Bundles
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
Maîtrise Symfony pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement