Pipin a entendu parler des tests. Il en a écrit, fièrement : « Tous verts, patron ! »
Gorm a fait venir un inspecteur, Maître Vérifix, un gnome au monocle. Il a lu les tests de Pipin, et il a soupiré. Puis il a glissé en cachette quatre bugs dans la taverne, pour voir. Les tests de Pipin sont restés tout verts.
Votre mission
Rendez les tests de tests/Taverne/InspectionTest.php honnêtes : ils doivent toujours passer sur la taverne telle qu'elle est, mais échouer sur chacun des quatre bugs de Maître Vérifix, les mutants 🐛.
Ne touchez pas à l'application : ce sont les tests qui mentent.
Les mensonges classiques d'un test
- Des données trop sages, qui donnent le bon résultat par hasard.
- Une assertion trop molle, qui vérifie qu'un élément est présent, mais pas que les autres sont absents.
- Un échec avalé : en PHPUnit, un échec d'assertion est une exception. Un
try/catch (\Throwable)la fait disparaître. - Un test qui vérifie la mauvaise chose, comme une valeur qui n'a aucune chance d'être là.
Un test vert ne prouve rien tant qu'on ne l'a pas vu rougir face à un vrai bug. C'est exactement ce que font les mutants.
Maître Vérifix ajuste son monocle. Il attend.