Allez plus loin avec PHPUnit grâce aux dépendances

Dans mon précédent article, nous avions vu comment exploiter la puissance de PHPUnit grâce aux mocks. Pourtant, PHPUnit a bien plus d'un tour dans son sac : fouillons un peu dans son chapeau voir quel lapin en sortira.

Lors de la rédaction d'un test fonctionnel, il est courant que les tests rédigés dans un même fichier se suivent chronologiquement, par exemple lors d'un formulaire en plusieurs étapes. Si votre premier test ne réussie pas, il est probable que les tests suivants ne réussissent pas non plus.

Et voilà, t'as tout cassé !

Mais non, rassurez-vous, PHPUnit a la solution : il vous offre la possibilité de définir des dépendances dans vos tests.

Prenons exemple sur un formulaire en 3 étapes chronologiques : chaque étape ne doit être testée que si la précédente réussie. Notons cela comme suit, grâce aux annotations de la PHPDoc :

Notez la présence de l'annotation @depends dans l'en-tête de chaque fonction, cela indique quelle est sa dépendance. Ainsi, si le test de la dépendance échoue, le second test sera ignoré.