Pruebas Unitarias y Funcionales en Laravel con PHP Artisan
Clase 4 de 24 • Curso Básico de Testing con PHP y Laravel
Resumen
¿Qué son las pruebas unitarias y pruebas de característica en Laravel?
En el mundo del desarrollo con Laravel, las pruebas son una parte crucial del proceso para asegurar que tu aplicación funcione correctamente. Existen dos tipos principales de pruebas que se utilizan para evaluar el software: las pruebas unitarias y las pruebas de características (o funcionalidad). Aprender la diferencia y saber cuándo utilizar cada una es esencial para garantizar aplicaciones robustas y sin errores.
¿Cómo crear una prueba unitaria en Laravel?
Las pruebas unitarias se enfocan en evaluar partes específicas del código, como funciones o métodos individuales, al verificar que estos devuelvan los resultados esperados. Se trata de tests muy detallados, que comprueban la lógica interna del software.
Para crear una prueba unitaria en Laravel, usaremos el comando make:test
de Artisan, que es una herramienta CLI incorporada en Laravel. Aquí tienes los pasos para una creación básica:
- Abre el terminal en Visual Studio Code.
- Escribe el siguiente comando para crear una prueba unitaria:
php artisan make:test NombreTest --unit
- El archivo se creará dentro de la carpeta
tests/Unit
, donde podrás definir y ejecutar las pruebas para métodos específicos.
¿Cómo crear una prueba de característica en Laravel?
Las pruebas de características, por otro lado, abarcan aspectos más amplios de la aplicación. Estas verifican que diferentes componentes del sistema trabajen en conjunto de manera correcta. Se usan para simular, por ejemplo, la navegación de un usuario por diferentes rutas de una aplicación web.
Aquí te describimos cómo crear una prueba de característica:
- Similar a las pruebas unitarias, utilizamos el comando Artisan.
- Escribe el comando para crear una prueba de característica:
Sin el flagphp artisan make:test NombreTest
--unit
, el archivo se ubicará entests/Feature
. - En este archivo se pueden definir pruebas para múltiples componentes, como rutas, controladores y vistas.
¿Cómo ejecutar y validar pruebas en Laravel?
Una vez creados los archivos de prueba, es fundamental ejecutarlas para validar que el código se comporte como se espera.
- Usa el comando
php artisan test
en el terminal. - Laravel ejecutará todas las pruebas creadas.
- Observa el resultado. Por ejemplo, si esperas un código HTTP 200 pero obtienes un 404, significa que la ruta no está configurada correctamente.
Ejemplo de prueba de característica: Comprobación de rutas
Veamos un ejemplo sobre cómo Laravel maneja las pruebas de características. Supongamos que quieres comprobar si la ruta “acerca de” (about
) devuelve un código 200:
public function testAboutPage()
{
$response = $this->get('/about');
$response->assertStatus(200);
}
Si la ejecución del test muestra un 404, tendrás que configurar correctamente la ruta en routes/web.php
como sigue:
Route::get('/about', function () {
return 'Hola, soy acerca de';
});
Ejecuta nuevamente el test para asegurar que ahora el sitio responde correctamente con un código 200.
Recomendaciones para una práctica eficaz en pruebas
- Comienza con las pruebas unitarias: Asegúrate de que cada componente individual funcione antes de integrar.
- Amplía las pruebas con características: Evalúa la comunicación y interacción entre componentes.
- Automatiza las pruebas: Ahorra tiempo ejecutando scripts de tests regularmente.
- Inicia simple y complejiza gradualmente: Comienza con pruebas básicas y añade complejidad según se incrementen las funcionalidades.
Este enfoque metódico y exhaustivo en tus pruebas permitirá detectar y corregir errores a tiempo, optimizando el desarrollo y asegurando la calidad de tus aplicaciones. ¡Sigue aprendiendo y perfeccionando tus habilidades en Laravel para crear soluciones de software sobresalientes!