Automatización de Pruebas en Laravel con phpArtisan Test
Clase 21 de 30 • Curso de Estándares y Buenas Prácticas para API REST con Laravel
Contenido del curso
- 8

Planificación y Definición de Rutas en una API con Laravel
06:08 - 9

Gestión de Recursos y Colecciones en APIs Laravel
12:59 - 10

Configuración de Recursos Multinivel en Visual Studio Code
11:48 - 11

Optimización de Consultas en Laravel con Telescope
10:55 - 12

CRUD de Recetas con Laravel y Symfony en Visual Studio Code
16:23 - 13

Validación de Datos en Aplicaciones Web con Laravel
11:24 Planificación y mantenimiento
- 14

Autenticación vs. autorización
03:19 - 15

Autenticación y Generación de Tokens en Laravel
09:28 - 16

Creación de Rutas y Controladores para Iniciar Sesión en API
12:32 - 17

Corrección de bugs de seguridad en aplicaciones web
08:02 - 18

Implementación de Políticas de Acceso en Laravel
07:27 - 19

Subida y Validación de Imágenes en Laravel con Visual Studio Code
07:56 - 20

¿Qué es la autenticación?
03:55 Funciones de seguridad
- 21

Automatización de Pruebas en Laravel con phpArtisan Test
13:49 - 22

Testing de Módulos Administrativos en Visual Studio Code
06:42 - 23

Pruebas Automatizadas para el Módulo de Recetas en PHP
08:19 - 24

Pruebas de Creación de Datos en Aplicaciones Web
07:37 - 25

Configuración y Pruebas de Actualización de Recetas en Visual Studio Code
06:10 API Testing
¿Cómo automatizar el proceso de testing en Laravel?
Cuando desarrollas código, uno de los aspectos más importantes es la capacidad para automatizar pruebas y garantizar que todas las funcionalidades sean correctas. La automatización no solo agiliza el proceso de desarrollo, sino que también sirve como documentación del sistema. En esta guía, exploraremos cómo automatizar pruebas en Laravel usando Visual Studio Code y una estructura sólida para mantener tus pruebas organizadas y efectivas.
¿Cómo iniciar el proceso de testing en Laravel?
El primer paso en el proceso de testing es comprender el flujo de trabajo habitual: desarrollamos un código, lo revisamos y verificamos los resultados. Laravel proporciona herramientas poderosas para automatizar estos pasos. Al iniciar el proceso en Visual Studio Code, podemos abrir el terminal y ejecutar phpArtisan test. Este comando nos ofrece una base inicial para nuestros tests.
php artisan test
Este comando ejecuta cualquier prueba preexistente en tu aplicación, permitiéndonos observar ejemplos y comprender la estructura que Laravel espera.
¿Cómo crear un test personalizado?
Eliminamos ejemplos predeterminados para dar paso a nuestras propias pruebas. Sigamos estos pasos para crear un test:
- Abre la carpeta donde almacenarás tus archivos de test.
- Usa el comando
phpArtisan make:test CategoryTestpara crear un archivo de prueba específico para las funciones de categoría.
php artisan make:test CategoryTest
Este archivo te permitirá probar diferentes métodos del controlador de categorías.
¿Cómo estructurar y ejecutar las pruebas?
Dentro de tu archivo de prueba, puedes comenzar definiendo el entorno que necesitarás para tus pruebas:
- Base de datos de prueba: Agrupa datos que solo existan en memoria durante la ejecución del test.
- Autenticación de usuario: Utiliza un usuario de prueba para simular inicios de sesión y autenticación.
- Definición de rutas: Prueba distintas rutas como el acceso al índice (
index) y la vista individual (show) de categorías.
Creación de datos de prueba
Para ello, crea un usuario de prueba y categorías ficticias que simulen las entradas en tu base de datos real. Usarás "factories" para generar estos datos de manera replicable.
public function setUp(): void {
parent::setUp();
$user = User::factory()->create();
$this->actingAs($user);
$categories = Category::factory()->count(2)->create();
}
Prueba de rutas
$response = $this->getJson('/api/categories');
$response->assertJsonCount(2, 'data');
$response->assertJsonStructure([
'data' => [
'*' => ['id', 'type', 'attributes' => ['name']]
]
]);
$response->assertStatus(200);
¿Cómo gestionar diferentes entornos de base de datos?
Para evitar que tu base de datos de desarrollo o producción se vea alterada durante las pruebas, es fundamental configurar una base de datos específica para el entorno de testing. Laravel permite almacenar datos temporalmente en memoria usando SQLite.
- Consulta el archivo de configuración
phpunit.xml. - Configura usando la tecnología de almacenamiento en memoria con SQLite.
<connections>
<connection>
<driver>sqlite</driver>
<database>:memory:</database>
</connection>
</connections>
Ejecutando y validando tus pruebas
Repite el ciclo de tests hasta tener pruebas exhaustivas para todas las funcionalidades. Usa el comando:
php artisan test
Cada test debería correr sin errores. Si encuentras alguna falla, revisa el código fuente y ajusta hasta que todas las pruebas sean exitosas. Esto garantiza que tus modificaciones futuras no rompan funcionalidades existentes.
Este enfoque no solo asegura la integridad de tu aplicación, sino que hace que el proceso de desarrollo sea más eficiente y confiable. Además, cada test actúa como una sección documentada del comportamiento esperado de tu sistema, facilitando posteriores consultas y modificaciones. Continúa explorando y mejorando tus habilidades en testing para perfeccionar tus proyectos en Laravel.