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
04:37 min - 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
Testing de Proyectos Laravel con PHPUnit y Artisan
Resumen
Laravel incluye de forma nativa todo lo necesario para ejecutar pruebas automatizadas con PHPUnit, lo que permite comenzar a testear desde el primer momento sin configuraciones adicionales. Entender cómo está organizada la estructura de archivos y carpetas de testing es el primer paso para escribir pruebas efectivas en cualquier proyecto.
¿Cómo crear un proyecto de Laravel listo para testing?
El proceso inicia abriendo un terminal y ubicándose en la carpeta de proyectos. Desde ahí se ejecuta el comando laravel new seguido del nombre del proyecto [01:00]. En este caso, el proyecto se llama php unit para reflejar el enfoque en pruebas automatizadas.
bash laravel new phpunit
Una vez finalizada la instalación, se conecta el editor de código con la carpeta del proyecto mediante Open Folder [01:30]. Esto permite visualizar toda la estructura que Laravel genera automáticamente:
- Carpeta de código principal, HTTP y modelos.
- Carpeta de configuración y base de datos.
- Archivos públicos, vistas y rutas.
- Carpeta de test, dedicada exclusivamente al testing.
¿Qué contiene la carpeta de testing en Laravel?
Laravel organiza las pruebas dentro de la carpeta tests, que a su vez se divide en dos subcarpetas principales [02:20]:
- Unit: pruebas unitarias que verifican porciones pequeñas y aisladas de código.
- Feature: pruebas funcionales que evalúan comportamientos más complejos, como acceder a una ruta y validar la respuesta.
El archivo phpunit.xml ya viene preconfigurado [02:05]. A diferencia de un proyecto PHP puro donde se crea manualmente este archivo, Laravel lo incluye con la configuración necesaria para que las pruebas se ejecuten sin pasos adicionales.
¿Qué ejemplos trae Laravel por defecto?
Dentro de la carpeta Feature existe un archivo que verifica que al acceder a la ruta principal (home) se reciba un status HTTP 200 [02:50]. Este concepto de códigos de estado HTTP es fundamental y se conecta directamente con el desarrollo de APIs.
En la carpeta Unit se encuentra un archivo con una afirmación básica: assertTrue(true) [03:10]. Es la prueba más simple posible, pero sirve como punto de partida para comprender la mecánica de las aserciones.
¿Cómo ejecutar las pruebas desde el terminal?
Existen dos formas de correr las pruebas. La primera utiliza directamente el binario de PHPUnit [03:30]:
bash vendor/bin/phpunit
Este comando conecta con todas las pruebas configuradas y muestra el resultado. Por ejemplo, con los archivos por defecto se obtienen dos tests y dos aserciones correctas.
Si dentro de un mismo test se duplica una aserción, el resultado cambia. Al copiar y pegar assertTrue(true) dos veces dentro del mismo método, el reporte indica dos tests y tres aserciones [04:00]. Cada llamada a un método de aserción cuenta de forma independiente.
¿Cuál es el comando alternativo con Artisan?
La segunda forma es usar el comando propio de Laravel [05:00]:
bash php artisan test
Este comando presenta una estructura visual diferente, más descriptiva. Muestra el nombre de cada test, el archivo donde se encuentra y si pasó o falló. Ambas opciones ejecutan las mismas pruebas, pero php artisan test ofrece una salida más legible.
¿Qué estándares de nomenclatura se deben seguir?
Para que PHPUnit reconozca los archivos y métodos correctamente, se deben respetar ciertas convenciones [04:30]:
- Los archivos de prueba deben terminar en Test.php. Por ejemplo, para probar el modelo User, el archivo correcto sería
UserTest.php. - Los métodos de prueba deben comenzar con la palabra test. Un método llamado
testBasicserá detectado automáticamente como prueba. - También se puede usar la anotación
@testen el docblock, permitiendo nombres de método sin el prefijo.
Estas reglas garantizan que el test runner identifique y ejecute cada prueba sin ambigüedades.
La base está lista: un proyecto configurado, carpetas organizadas y comandos disponibles. ¿Ya has trabajado con pruebas automatizadas en tus proyectos? Comparte tu experiencia en los comentarios.