Logo PHPUnit

PHPUnit : définition, usages et formation

Le framework de référence pour écrire des tests automatisés en PHP et livrer du code fiable.

PHPUnit est un framework open source de tests pour le langage PHP, créé par Sebastian Bergmann. Il permet d'écrire des tests qui vérifient automatiquement qu'une fonction, une classe ou un service renvoie bien le résultat attendu. C'est l'outil de test standard des projets PHP, notamment avec les frameworks Symfony et Laravel.

Qu'est-ce que PHPUnit ?

Un test unitaire isole un petit morceau de code et le confronte à des cas précis : données normales, valeurs limites, erreurs. PHPUnit fournit les assertions (assertSame, assertTrue, expectException…), les objets simulés (mocks) pour remplacer une base de données ou une API, et des rapports de couverture de code qui montrent quelles lignes sont testées. Les tests s'exécutent en une commande, sur le poste du développeur comme dans une chaîne d'intégration continue.

final class PrixTest extends TestCase { public function testRemiseDeDixPourcent(): void { $calcul = new CalculPrix(); $this->assertSame(90.0, $calcul->appliquerRemise(100.0, 10)); } } # Lancer les tests vendor/bin/phpunit

À quoi sert PHPUnit en entreprise ?

  • Détecter les régressions : une modification qui casse une fonctionnalité existante est repérée avant la mise en production
  • Refactoriser du code ancien en toute sécurité
  • Bloquer automatiquement un déploiement si les tests échouent, dans une chaîne CI/CD (par exemple avec GitHub Actions)
  • Documenter le comportement attendu du code pour les autres développeurs
  • Mesurer la qualité d'un projet grâce à la couverture de tests

PHPUnit et l'intelligence artificielle

Les assistants de code savent générer rapidement des tests PHPUnit, mais ils testent souvent ce que le code fait, pas ce qu'il devrait faire. Avec du code de plus en plus produit par l'IA, les tests automatisés deviennent le filet de sécurité qui permet de vérifier ce code. Savoir concevoir un bon plan de tests est donc une compétence qui prend de la valeur.

Compétences à acquérir

  • Concevoir un plan de tests unitaires et fonctionnels
  • Écrire des tests lisibles avec les assertions et les mocks
  • Tester une application Symfony : services, contrôleurs, accès aux données
  • Intégrer les tests à une chaîne d'intégration continue avec Git et Docker
  • Lire un rapport de couverture et prioriser les tests manquants

Apprendre PHPUnit chez LiveCampus

Bachelor Développeur IA Full Stack

Le programme inclut la conception d'un plan de tests (unitaires et fonctionnels) avec PHPUnit, aux côtés de PHP et Symfony, React, des bases SQL et NoSQL, des API et de Docker. Le Bachelor prépare au titre professionnel Concepteur développeur d'applications (RNCP 37873, niveau 6, Bac+3) en 480 heures sur un an, après un Bac+2 en informatique.

Format : 100 % à distance, cours en direct, en alternance ou en formation initiale.

Questions fréquentes

Quelle différence entre test unitaire et test fonctionnel ?

Le test unitaire vérifie une petite partie du code isolée du reste. Le test fonctionnel vérifie un parcours complet, par exemple l'envoi d'un formulaire et la réponse de l'application. PHPUnit sert de base aux deux.

PHPUnit est-il utilisé avec Symfony ?

Oui. Symfony s'appuie sur PHPUnit pour ses tests et fournit des outils complémentaires pour tester les contrôleurs, les formulaires et l'accès aux données.

Quels métiers utilisent PHPUnit ?

Le développeur PHP back-end ou full stack, le concepteur développeur d'applications, l'ingénieur d'études et développement et l'ingénieur DevOps qui automatise les tests.

À lire aussi