Configurando el ambiente de pruebas en Laravel
Adrian Galicia • May 12, 2020
Como tal vez ya lo hayan escuchado o leído, escribir pruebas para nuestras aplicaciones es una gran práctica de desarrollo de software, la cual en mi opinión personal todo desarrollador debería adoptar, es por eso que a continuación voy a listar 3 puntos que ojalá tengan en mente cada que comiencen un nuevo desarrollo
- Escribir las pruebas debería ser la primera tarea de codificación que realicen antes de comenzar a construir las características o features de su aplicación.
- Al ser nuestra primera tarea de codificación, las pruebas se escriben inicialmente para fallar esto es por que no hemos escrito ningún código para cumplir con los requisitos de la prueba
- Una vez que tenemos escritas nuestras pruebas que hasta el momento fallan, entonces podemos comenzar a escribir el código de nuestra aplicación para que pase nuestras pruebas.
Esta práctica asegura que nuestro código cumple con los requisitos de software especificados. También sirve como guía para extender nuestra aplicación o para refactorizar. Esta práctica se conoce comúnmente como “ Desarrollo basado en pruebas “ (TDD).
En esta guía, vamos a ver cómo configurar nuestro ambiente de pruebas con Laravel
Introducción
Una aplicación Laravel viene configurada por defecto para que podamos ejecutar 2 tipos de pruebas
- Pruebas Unitarias, que se encargan de probar la funcionalidad de una pequeña parte de nuestro código ya sea un método o una clase.
- Prueba de características que comprueba que una característica completa funciona realmente. En este punto, puede probar muchas clases y métodos, o un paquete entero dependiendo de cómo esté estructurada su aplicación.
Prerrequisitos
- Conocimiento básico de PHP y Laravel
- Tener Composer instalado
- Tener PHP instalado y configurado en tu máquina
- Tener GIT instalado
- Un proyecto Laravel nuevo configurado en tu máquina
Configurando el ambiente de pruebas
Laravel viene con un archivo phpunit.xml
que contiene la configuración con la que phpunit
realizará las pruebas. Si nosotros quisiéramos cambiar estos ajustes, podemos hacerlos directamente en el archivo phpunit.xml
o crear un archivo .env.testing
.
Una buena práctica es utilizar siempre una base de datos diferente para las pruebas, dicha base de datos la configuraremos en el archivo .env.testing
.
Primero hay que generar una base de datos que voy a nombrar database.sqlite
(Ustedes son libres de nombrarla como mejor les parezca) con el siguiente comando:
Ahora vamos a crear un archivo .env.testing
que contendrá lo siguiente
Para finalizar la configuración de nuestro ambiente de pruebas corremos las migraciones en nuestra base de datos de prueba con el siguiente comando
Por ultimo para verificar que todo esté OK ejecutamos el siguiente comando, que ejecuta las pruebas que laravel trae por defecto
Este es el segundo post de una serie que estaré compartiendo con todos ustedes en la que veremos cómo hacer un CRUD con pruebas en Laravel. FYI en el siguiente post ya estaré escribiendo las pruebas.
Espero que te haya gustado y sea de gran ayuda para tus futuros proyectos. Recuerda compartir éste y otros tutoriales en tus redes sociales, hasta la próxima 🤙.