Chapitre 6 du parcours Symfony pour les devs PHP
Plus jamais ça !
6 exercices · 1 460 XP · environ 4 h
WebTestCasecreateClient()submitFormAssertionsBase de testJeu de donnéesCrawlerTest unitaireTestCase#[DataProvider]expectExceptionloginUser()Tests de sécurité401 / 403Rôles et votersjsonRequest()Tests d'APIJSONJeton d'accèsTests fiablesDonnées de testAssertions précises
Les exercices du chapitre
-
Le premier garde-fou
Exercice 1 · 220 XP · 4 objectifs vérifiés par des tests
Gorm a fait les comptes. Depuis l'ouverture du site, Pipin a « amélioré » la taverne quatre fois, et quatre fois tout était cassé. Chaque fois, on ne l'a su que parce qu'un client se plaignait.
WebTestCasecreateClient()submitFormAssertions
-
Des données pour tester
Exercice 2 · 230 XP · 4 objectifs vérifiés par des tests
Deuxième chantier de Gorm : la carte pour un budget (/menu?budget=5). Les aventuriers fauchés y comptent : pas question qu'elle leur propose un ragoût à 12 pièces d'or.
Base de testJeu de donnéesCrawler
-
L'addition, s'il vous plaît
Exercice 3 · 230 XP · 5 objectifs vérifiés par des tests
Fini le calcul de tête : Gorm a fait écrire un service Addition, qui calcule la note de chaque table. Ses règles tiennent en trois lignes :
Test unitaireTestCase#[DataProvider]expectException
-
Qui a le droit ?
Exercice 4 · 240 XP · 5 objectifs vérifiés par des tests
La sécurité de la taverne a déjà cédé une fois (souvenez-vous des clés volées). Gorm veut maintenant des tests qui vérifient chaque règle d'accès, pour tous les rôles :
loginUser()Tests de sécurité401 / 403Rôles et voters
-
Tester l'API
Exercice 5 · 240 XP · 5 objectifs vérifiés par des tests
L'API des parchemins est devenue le premier canal de réservation de la taverne. Une régression y coûterait cher. Et une fuite du sceau d'une guilde coûterait encore plus cher.
jsonRequest()Tests d'APIJSONJeton d'accès
-
🐉 Boss : les tests menteurs
Exercice 6 · 300 XP · 5 objectifs vérifiés par des tests
Pipin a entendu parler des tests. Il en a écrit, fièrement : « Tous verts, patron ! »
Tests fiablesDonnées de testAssertions précises