Desabilitando el manejador de errores para tests

A veces cuando estamos escribiendo pruebas para nuestra aplicación Laravel, queremos ver la excepción que se está generando pero el manejado de errores de Laravel la toma y actúa para manejar el error.

Este es muy bueno para cuando trabajamos en producción pero como queremos ver el error sin manejarse, es bueno hacer un helper para ello.

Helper para ver errores

En en archivo tests/TestCase.php podemos crear este pequeño método de la siguiente manera

Como pueden ver estamos diciendo al contenedor de dependencias que cuando se requiera el ExceptionHandler entregue una instancia de una clase anónima que extiende el Handler e implementa los métodos necesarios.

Si observan el metodo render, estamos simplemente botando de nuevo el Exception sin ningún tipo de tratamiento especial.

Luego en un test podemos invocar este método al inicio del mismo y podremos ver el exception con mas detalle.

El resultado para esta prueba es:

Ahora si agregamos el helper de la siguiente manera

Veremos un resultado distinto.

Esto nos permite ver con mas detalle los errores que podamos presentar en nuestro código mientras vamos desarrollando con las pruebas. Hay que tener en cuenta que esto es solo una ayuda mientras trabajamos con TDD o escribiendo tests para nuestra app, no es algo que debamos implementar en producción ni mucho menos dejar pruebas con el helper activo.

Espero les sea útil como a mi, quiero finalizar por decir que esto lo aprendi de Adam Wathan .

Feliz programación!

Comparte este artículo

Entra en la discusión y deja tu comentario

Veces