Buenas prácticas a nivel general
Diseño de APIs RESTful: Buenas Prácticas y Principios Básicos
¿Qué son los HTTP Status Codes?
¿Qué son los Métodos HTTP?
Creación del proyecto
Creación y Configuración de Estructuras de Datos en Laravel
Creación de Datos Falsos con Factories en Laravel
Consultas API con Laravel: Rutas y Controladores
Consultas de Datos Relacionados en Laravel
Quiz: Creación del proyecto
Planificación y mantenimiento
Planificación y Definición de Rutas en una API con Laravel
Gestión de Recursos y Colecciones en APIs Laravel
Configuración de Recursos Multinivel en Visual Studio Code
Optimización de Consultas en Laravel con Telescope
CRUD de Recetas con Laravel y Symfony en Visual Studio Code
Validación de Datos en Aplicaciones Web con Laravel
Quiz: Planificación y mantenimiento
Funciones de seguridad
Autenticación vs. autorización
Autenticación y Generación de Tokens en Laravel
Creación de Rutas y Controladores para Iniciar Sesión en API
Corrección de bugs de seguridad en aplicaciones web
Implementación de Políticas de Acceso en Laravel
Subida y Validación de Imágenes en Laravel con Visual Studio Code
¿Qué es la autenticación?
Quiz: Funciones de seguridad
API Testing
Automatización de Pruebas en Laravel con phpArtisan Test
Testing de Módulos Administrativos en Visual Studio Code
Pruebas Automatizadas para el Módulo de Recetas en PHP
Pruebas de Creación de Datos en Aplicaciones Web
Configuración y Pruebas de Actualización de Recetas en Visual Studio Code
Quiz: API Testing
API Breaking Changes
Versionado de API: Técnica para Gestión de Versiones y Rutas
Desarrollo de API con TDD: Implementación de Versión 2
Quiz: API Breaking Changes
Conclusiones
Desarrollo de API RESTful con Laravel: Buenas Prácticas y Seguridad
Desarrollo de APIs con Pruebas y Refactorización
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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.
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.
Eliminamos ejemplos predeterminados para dar paso a nuestras propias pruebas. Sigamos estos pasos para crear un test:
phpArtisan make:test CategoryTest
para 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.
Dentro de tu archivo de prueba, puedes comenzar definiendo el entorno que necesitarás para tus pruebas:
index
) y la vista individual (show
) de categorías.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();
}
$response = $this->getJson('/api/categories');
$response->assertJsonCount(2, 'data');
$response->assertJsonStructure([
'data' => [
'*' => ['id', 'type', 'attributes' => ['name']]
]
]);
$response->assertStatus(200);
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.
phpunit.xml
.<connections>
<connection>
<driver>sqlite</driver>
<database>:memory:</database>
</connection>
</connections>
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.
Aportes 4
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?