- 1
Novedades y herramientas actualizadas en Laravel
00:30 - 2

Desarrollo web con Laravel: proyectos y funcionalidades clave
05:31 - 3
Curso de Laravel 6: Configuración del Entorno de Desarrollo
03:27 - 4

Instalación y configuración de Laravel paso a paso
08:11 - 5

CRUD en Laravel: Crear, Leer, Actualizar y Eliminar Usuarios
12:04 - 6

"Creación de Controladores y Vistas en Laravel"
16:12 - 7

Creación de Formularios y Validación en Laravel con Bootstrap
12:59
Desarrollo Guiado por Pruebas en Laravel: Configuración y Ejecución
Clase 30 de 37 • Curso de Introducción a Laravel 6
Contenido del curso
- 8

Rutas y Controladores en Laravel: Fundamentos Esenciales
08:43 - 9

Protección de Rutas y Controladores en Laravel con Middleware
06:28 - 10

Validación de Formularios en Laravel: Buenas Prácticas y Ejemplos
08:22 - 11

Sistema de Plantillas Blade en Laravel: Creación y Uso Eficiente
08:10 - 12

Implementación de Sistema de Autenticación en Laravel con Bootstrap
07:32
- 17

Creación de un Blog con Sistema de Autenticación y Slugs
07:54 - 18

Configuración de Migraciones, Factories y Seeders en Laravel
07:36 - 19

Configuración de Rutas y Controladores en Laravel para Listado de Posts
13:01 - 20

Configuración Visual y Paginación en Laravel y Vue.js
04:12 - 21

Gestión de Artículos en Laravel: Rutas, Controladores y Vistas
14:35 - 22

Creación de Formularios en PHP con HTML y Bootstrap
07:00 - 23

Validación y Guardado de Datos en Laravel
12:10 - 24

Formulario de Edición de Artículos con Laravel
10:15 - 25

Gestión de Formularios y Archivos en Laravel
11:26 - 26

Integración de Imágenes y Contenido Multimedia en Proyectos Web
11:28
- 27

Testing y Pruebas Funcionales en Laravel: Proyecto Intermedio
09:48 - 28

Pruebas de Software: Ciclo Rojo, Verde y Refactorización
06:03 - 29

Configuración de Proyectos en Laravel: Controladores y Pruebas
09:11 - 30

Desarrollo Guiado por Pruebas en Laravel: Configuración y Ejecución
12:41 - 31

Refactorización y Validación de Código en Pruebas Unitarias
07:48 - 32

Pruebas y Configuración de Controladores en Laravel
06:50 - 33

Actualización de Datos en Controladores: Método y Pruebas
05:05 - 34

Pruebas Unitarias para Método de Eliminación en Bases de Datos
04:15 - 35

Creación y Prueba de Métodos Index en PHP
06:03 - 36

Protección de APIs con Autenticación Token en Laravel
08:20 - 37

Desarrollo de Formularios con Blade y Verbalización de Datos
00:55
¿Qué es el desarrollo guiado por pruebas (TDD)?
El desarrollo guiado por pruebas, conocido como TDD por sus siglas en inglés (Test-Driven Development), es un enfoque de programación que, comparado con la metodología tradicional, cambia la manera en la que desarrollamos software. Aquí, empezamos escribiendo una prueba antes de desarrollar cualquier funcionalidad. Esta prueba guía el desarrollo hasta lograr un código correcto. A diferencia de programar directamente y corregir errores directamente en el navegador, TDD nos permite centrarnos en asegurar que cada pequeña parte del código hace exactamente lo que debe.
¿Cómo comenzar con TDD en Laravel?
En Laravel, el primer paso para implementar TDD es configurar una prueba para el método que deseas desarrollar. En este caso, se trata del método store para una API que permite guardar datos mediante una solicitud POST en formato JSON. La prueba se encargará de:
- Conectar correctamente la aplicación con la ruta definida.
- Comprobar que los datos enviados están siendo almacenados adecuadamente.
- Verificar que la estructura JSON retornada corresponde a lo planificado.
- Asegurarse de que el estado HTTP devuelto, en este caso un 201, refleja la correcta creación del recurso.
Código de ejemplo para pruebas
El contenido del test podría verse así:
public function test_debe_guardar_un_post()
{
$response = $this->postJson('/api/posts', [
'title' => 'Post de prueba',
]);
$response
->assertStatus(201)
->assertJson([
'title' => 'Post de prueba',
'created_at' => true,
'updated_at' => true,
]);
$this->assertDatabaseHas('posts', [
'title' => 'Post de prueba'
]);
}
Configurando la base de datos para el test
Debes asegurarte que tu base de datos de pruebas tenga la estructura necesaria, como la tabla posts con el campo title. Utiliza migraciones para configurar la estructura que desea verificar en tu prueba.
¿Cómo escribir código para pasar las pruebas?
Tras definir tus pruebas, es hora de desarrollar el código necesario para cumplirlas. Podrías implementar el método store en un controlador de la siguiente manera:
public function store(Request $request)
{
$post = Post::create($request->all());
return response()->json($post, 201);
}
Este código espera recibir un conjunto de datos, guardarlos en la base de datos, y devolver una respuesta JSON con el nuevo recurso creado. Siempre es posible ajustar la función para que cumpla con todos los requisitos de la prueba.
¿Qué hacer ante errores en las pruebas?
Los errores en las pruebas son sumamente útiles; te indican exactamente qué parte de tu código no se ajusta a las expectativas. Por ejemplo, si la prueba indica que una ruta no funciona, verifica que esté correctamente definida:
Route::post('/api/posts', [PostController::class, 'store']);
Usando comandos de Laravel, se puede listar las rutas actuales y verificar que todas estén correctamente configuradas.
¿Por qué elegir TDD?
Optar por TDD asegura que tu código tenga alta calidad y sea mantenible a largo plazo. Cada modificación futura estará respaldada por pruebas que garantizarán que nuevas implementaciones no quiebren el código existente. Además, centraliza el enfoque en la funcionalidad principal desde el comienzo del desarrollo.
Este método es particularmente poderoso en Laravel, donde la integración con PHPUnit facilita la escritura y ejecución de pruebas. ¡No dudes en continuar profundizando en TDD y perfeccionar tus habilidades como desarrollador!