09.10.2026 · Signal Titans Editorial
Laravel 13.35 substitui callbacks em fakes por arrays de propriedades
O Laravel 13.35 introduz arrays de propriedades chave-valor para fakes de teste, simplificando asserções de eventos, filas, bus e notificações.

O Laravel 13.35 passou a oferecer suporte a arrays de propriedades do tipo chave-valor em fakes de teste. Essa novidade elimina a necessidade de escrever closures de callback personalizadas ao verificar propriedades em jobs na fila, eventos disparados, comandos do bus e notificações enviadas.
Asserções de teste mais limpas
Em vez de definir funções closure de várias linhas para inspecionar parâmetros de eventos ou jobs durante os testes automatizados, os desenvolvedores que utilizam o Laravel 13.35 agora podem fornecer um array associativo simples com os nomes e valores esperados das propriedades. Essa sintaxe intuitiva baseada em arrays funciona perfeitamente nos fakes de Queue, Bus, Event e Notification do framework.
A sintaxe simplificada de arrays também se aplica a métodos de asserção variados e negativos em toda a suíte de testes, incluindo assertNotPushed, assertPushedOn, assertNotDispatched e assertNotSentTo. Os desenvolvedores precisam apenas passar o nome da classe de destino como primeiro parâmetro e o array de propriedades esperadas como segundo argumento, tornando as asserções consideravelmente mais enxutas em suítes de teste complexas.
Igualdade estrita e verificações de modelos Eloquent
Por baixo dos panos, o novo mecanismo de asserção por array avalia cada chave de nível superior utilizando comparação de igualdade estrita (===). No entanto, ao comparar instâncias de modelos Eloquent, o Laravel delega automaticamente a verificação para o método dedicado $model->is(), que confirma se as conexões com o banco de dados, chaves primárias e nomes de tabelas coincidem.
Como os valores padrão que não são modelos dependem estritamente da correspondência de identidade, instâncias de objetos como datas do Carbon ou coleções personalizadas não podem ser verificadas diretamente dentro do array básico de propriedades. Para comparações de datas relativas, estruturas de dados profundamente aninhadas ou asserções em coleções, os desenvolvedores devem continuar usando os callbacks tradicionais com closures.
Restrições a propriedades públicas
A implementação subjacente do fake lê as propriedades diretamente pelo lado de fora da instância da classe alvo, o que exige que todos os campos verificados sejam definidos como públicos. A promoção de propriedades no construtor do PHP moderno oferece suporte nativo a essa estrutura, enquanto jobs ou eventos que dependem de campos protegidos ou métodos getter ainda precisam utilizar asserções por closure.
Se um array de asserção incluir uma chave de propriedade que na verdade não existe no objeto alvo inspecionado, o Laravel falha a asserção explicitamente em vez de lançar um erro de execução do PHP. Essa melhoria no framework foi originalmente contribuída pelo desenvolvedor Jack Bayliss no pull request #61770.
Ilustração editorial gerada por IA; não é uma fotografia documental.