☰ Menu

09.10.2026 · Signal Titans Editorial

Laravel 13.35 ersetzt ausführliche Fake-Callbacks durch Eigenschafts-Arrays

Laravel 13.35 führt Schlüssel-Wert-Arrays für Test-Fakes ein und vereinfacht Assertions für Events, Queues, Busse und Benachrichtigungen.

Ein glattes, dunkelblaues isometrisches Sortiertablett mit eigenen Fächern, in denen leuchtende gelbe und türkisblaue geometrische Formen unter warmem Licht liegen.

Laravel 13.35 führt die Unterstützung für Schlüssel-Wert-Eigenschafts-Arrays innerhalb von Test-Fakes ein. Dadurch entfällt die Notwendigkeit, eigene Closure-Callbacks zu schreiben, wenn Eigenschaften von in Warteschlangen eingereihten Jobs, gesendeten Events, Bus-Befehlen oder Benachrichtigungen überprüft werden.

Sauberere Test-Assertions

Statt mehrzeilige Closure-Funktionen zu definieren, um Job- oder Event-Parameter beim automatisierten Testen zu prüfen, können Entwickler in Laravel 13.35 nun ein übersichtliches assoziatives Array aus erwarteten Eigenschaftsnamen und -werten übergeben. Diese intuitive Syntax für Eigenschafts-Arrays funktioniert nahtlos über die Fake-Implementierungen für Queue, Bus, Event und Notification des Frameworks hinweg.

Die vereinfachte Array-Syntax gilt auch für negative und variante Assertion-Methoden in der gesamten Test-Suite, darunter assertNotPushed, assertPushedOn, assertNotDispatched und assertNotSentTo. Entwickler übergeben einfach den Namen der Zielklasse als ersten Parameter und das erwartete Eigenschafts-Array als zweites Argument, was Assertions in komplexen Test-Suites erheblich vereinfacht.

Strikte Gleichheit und Eloquent-Modell-Prüfungen

Unter der Haube wertet der neue Mechanismus für Array-Assertions jeden obersten Schlüssel mittels striktem Gleichheitsvergleich (===) aus. Beim Vergleich von Eloquent-Modellinstanzen delegiert Laravel die Überprüfung jedoch automatisch an die dedizierte Methode $model->is() des Modells, die übereinstimmende Datenbankverbindungen, Primärschlüssel und Tabellennamen bestätigt.

Da Standardwerte ohne Modellbezug strikt von Identitätsvergleichen abhängen, können Objektinstanzen wie Carbon-Datumsangaben oder eigene Collections nicht direkt innerhalb des einfachen Eigenschafts-Arrays geprüft werden. Für relative Datumsvergleiche, tief verschachtelte Datenstrukturen oder Collection-Assertions müssen Entwickler weiterhin auf traditionelle Closure-Callbacks zurückgreifen.

Einschränkungen bei öffentlichen Eigenschaften

Die zugrundeliegende Fake-Implementierung liest Eigenschaften direkt von außerhalb der Zielklasseninstanz aus, weshalb alle überprüften Felder als öffentlich (public) definiert sein müssen. Die moderne PHP-Constructor-Property-Promotion unterstützt diese Struktur von Haus aus, während Jobs oder Events, die sich auf geschützte (protected) Felder oder Getter-Methoden stützen, weiterhin Closure-Assertions nutzen müssen.

Enthält ein Assertion-Array einen Eigenschaftsschlüssel, der auf dem überprüften Zielobjekt gar nicht existiert, schlägt die Assertion in Laravel explizit fehl, anstatt einen PHP-Laufzeitfehler auszulösen. Diese Framework-Erweiterung wurde ursprünglich vom Entwickler Jack Bayliss im Pull Request #61770 beigetragen.

KI-generierte redaktionelle Illustration; kein Dokumentarfoto.

Quelle: Laravel Fake Assertions Now Accept Property Arrays