Contenido del curso
Conceptos
- 5

Verificación de Resultados en Pruebas Unitarias con PHPUnit
07:09 min - 6

Testing de Helpers en PHP con PHPUnit
07:26 min - 7

Pruebas Unitarias en Laravel: Mutadores y Campos Virtuales
08:29 min - 8

Pruebas de Métodos Personalizados en PHP con Laravel
04:56 min - 9

Testing de Carga de Archivos en Laravel
08:48 min - 10

Creación de Formulario HTML para Carga de Imágenes en Servidor
04:47 min - 11

Refactorización y Testing en Proyectos de Programación
04:48 min - 12

Validación de Formularios y Testing en Laravel
06:12 min - 13

Pruebas de Datos en Bases de Datos con PHP y Laravel
08:41 min
Proyecto
- 14

Metodología TDD en PHP: Creación y Pruebas Efectivas
Viendo ahora - 15

Desarrollo de un Proyecto Sencillo con Enfoque en Testing
01:34 min - 16

Pruebas HTTP en PHP con Artisan y Base de Datos
08:48 min - 17

Test de Visualización de Datos en Tabla de Etiquetas
05:36 min - 18

Configuración de Pruebas Unitarias para Crear Registros en Laravel
07:35 min - 19

Eliminación de registros en base de datos con Laravel
05:59 min - 20

Validación
03:16 min - 21

Pruebas de Funcionalidad de Etiquetas en Laravel desde el Navegador
05:25 min - 22

Mejorando el Diseño de Proyectos con Tailwind CSS
06:37 min - 23

Pruebas Unitarias en PHP: Creación y Verificación de Campos Virtuales
05:58 min
Conclusión
Metodología TDD en PHP: Creación y Pruebas Efectivas
Resumen
Cuando programamos, es común probar todo de manera manual a través del navegador. Sin embargo, existe una forma más profesional y estructurada de construir software: escribir primero la prueba y después el código. Este enfoque, conocido como TDD (Test-Driven Development), es una metodología de desarrollo que transforma la manera en que creamos aplicaciones y nos acerca al mundo profesional del desarrollo.
¿Qué es TDD y por qué cambia tu forma de programar?
TDD significa literalmente desarrollar la prueba antes de escribir el código [0:14]. Es una metodología, no una herramienta. Puede aplicarse en PHP, JavaScript, Python o cualquier otro lenguaje de programación. En el caso de PHP, la herramienta que se utiliza para ejecutar las pruebas es PHPUnit, pero es importante distinguir entre la herramienta y la metodología en sí.
El ciclo de TDD se divide en tres fases claramente definidas [0:46]:
- Rojo: escribimos la prueba sin tener código funcional, lo que genera un error.
- Verde: creamos el código necesario para que la prueba pase correctamente.
- Refactorización: mejoramos el código sin alterar el testing, asegurándonos de seguir obteniendo verde.
Este ciclo se repite constantemente durante el desarrollo, generando código más limpio y confiable con cada iteración.
¿Por qué muchos programadores evitan el testing?
Una de las barreras más comunes es la percepción de que se pierde tiempo escribiendo tanto código [1:21]. También puede parecer complicado o confuso al principio. Sin embargo, lo que realmente separa a un programador del ámbito profesional es precisamente la capacidad de escribir pruebas automatizadas.
Lo interesante es que, al practicar con ejercicios concretos, muchas veces aplicamos TDD sin darnos cuenta [0:25]. Cada vez que creamos un test primero y luego escribimos el código para cumplir con el requisito de esa prueba, estamos siguiendo esta metodología.
¿Cómo se organiza un proyecto con TDD?
Dentro de la estructura del proyecto, todo el código de prueba vive en la carpeta test [2:15]. Allí se organizan las subcarpetas necesarias para desarrollar cada prueba. Esta estructura permite mantener el código de producción separado del código de pruebas, facilitando el mantenimiento y la claridad del proyecto.
El flujo de trabajo es directo:
- Paso uno: crear el test y obtener rojo.
- Paso dos: crear el código que satisfaga la prueba y obtener verde.
- Paso tres (opcional): refactorizar el código manteniendo verde sin modificar el test.
¿Cómo iniciar un nuevo proyecto con Laravel para practicar TDD?
Para poner en práctica estos conceptos, se crea un nuevo proyecto con el comando laravel new tag [2:38]. Este proyecto trabaja con una aplicación sencilla de etiquetas que permite repasar los fundamentos del testing y la metodología TDD de forma práctica.
bash laravel new tag
Una vez completada la instalación, se conecta el editor al nuevo proyecto abriendo la carpeta correspondiente. A partir de ahí, se pueden crear diferentes aplicaciones utilizando pruebas automatizadas.
La fase de refactorización es clave para entender la potencia de TDD [1:03]. Cuando mejoramos nuestro código, la prueba actúa como una red de seguridad: si algo se rompe durante la refactorización, el test lo detecta inmediatamente. Esto nos da la confianza de modificar y optimizar sin miedo a introducir errores.
No conocer un concepto no impide hacer las cosas bien [3:05]. Muchas veces la práctica precede a la teoría, y eso está perfectamente bien. Lo importante es incorporar esta metodología de forma consciente para escribir código más robusto y profesional. ¿Ya has aplicado TDD en tus proyectos? Comparte tu experiencia en los comentarios.