Laravel 13.35 Nouveauté Publié le

Vérifier le contenu d'un événement avec un tableau de propriétés

assertDispatched() et assertPushed() acceptent un tableau de propriétés attendues, à la place d'une fonction de vérification.

Notions abordées : TestsÉvénementsFiles d'attente

Nouveau dans Laravel 13.35. Pour vérifier ce que transporte un événement ou une tâche simulés, il fallait passer une fonction qui inspecte l'objet et renvoie true. Les assertions des faux Event, Queue, Bus et Notification acceptent maintenant un tableau des propriétés attendues.

Avant

Event::assertDispatched(CommandePassee::class, function (CommandePassee $evenement) {
    return $evenement->numero === 'CMD-A12' && $evenement->total === 2550;
});

Depuis Laravel 13.35

Event::assertDispatched(CommandePassee::class, ['numero' => 'CMD-A12', 'total' => 2550]);

Chaque propriété citée est comparée strictement (===) : 2550 n'est pas '2550'. Un modèle Eloquent se compare avec is(), donc par sa clé. Les propriétés non citées ne comptent pas.

À faire

POST /api/commandes annonce la commande (CommandePassee) et met en file la préparation du colis (PreparerColis). Le test de tests/Feature/CommandeTest.php vérifie qu'ils partent, mais pas ce qu'ils contiennent. Renforcez-le en passant à chaque assertion le tableau des propriétés attendues. Chaque mutant doit faire échouer vos tests.

D'où vient la fonctionnalité : la pull request d'origine.