Skip to main content

Test de excepciones en Laravel con PestPHP

Introducción

El cambio de PHPUnit a PestPHP es algo progresivo.

Muchas veces se nos pasa que hay otros caminos de hacer las cosas. Este es uno de ellos, los test de excepciones

Test de Excepción :: PHPUnit vs PestPHP

Con Pest es mas limpio hacer:

expect(fn () => CommandCenterProblem::factory()->create([
        'command_center_id' => $commandCenter->id,
        'trigger_id' => $trigger->id,
        'created_at' => $now,
    ]))->toThrow(UniqueConstraintViolationException::class);

aunque también podemos hacerlo a la vieja usanza.

$this->expectException(UniqueConstraintViolationException::class);
    
    CommandCenterProblem::factory()->create([
        'command_center_id' => $commandCenter->id,
        'trigger_id' => $trigger->id,
        'created_at' => $now,
    ]);  

Como siempre, en programación hay más de un camino, perfectamente validos. Son gustos o preferencias personales.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.