Cuando hablamos de Laravel, nos adentramos en el mundo del desarrollo profesional de software, en donde el testing es una herramienta fundamental. Un programador profesional se beneficia de esta práctica para asegurar la calidad de su código.
A través del testing, puedes verificar que las funcionalidades de tu aplicación funcionan como esperas, lo que te permite identificar y corregir errores antes de que lleguen a producción. Laravel ya viene preparado para implementar pruebas, lo que lo convierte en un entorno ideal para el desarrollo de aplicaciones robustas.
¿Cómo resolvemos el reto de agregar imágenes en Laravel?
Anteriormente, nos encontramos con el desafío de integrar imágenes en un post llamado "Yo Tú". Probamos el proceso de añadir una imagen:
Seleccionamos una imagen y la actualizamos.
Al hacer clic en "Leer más", confirmamos que la imagen aparecía junto al video bajo el título.
En el código, se manejó un margen para que el contenido formara parte integral del aspecto visual del post.
Este ejercicio no solo probó la funcionalidad básica, sino que también demostró cómo el testing puede ayudarnos a garantizar que cada elemento se comporte como debería.
¿Por qué es importante realizar pruebas en el desarrollo de proyectos?
El testing permite a los desarrolladores dormir tranquilos, sabiendo que su código cumple con los estándares de calidad esperados. Implementar pruebas dentro de tus proyectos te permite:
Detectar errores en las fases tempranas del desarrollo.
Asegurar un código estable y funcional.
Reducir el tiempo de depuración en el futuro.
Tipos de pruebas en Laravel
Laravel divide las pruebas en dos tipos fundamentales:
Pruebas Unitarias (Unit Tests):
Se enfocan en probar pequeñas unidades de código, por ejemplo, funciones o métodos específicos.
Te ayudan a entender el comportamiento detallado de componentes individuales.
Pruebas Funcionales (Functional Tests):
Valoran el sistema en su totalidad, evaluando integraciones entre diferentes capas de tu aplicación.
Son esenciales para comprobar que todas las partes del sistema trabajen conjuntamente como se espera.
¿Cómo configurar pruebas en un nuevo proyecto Laravel?
Para comenzar a utilizar pruebas en Laravel, sigamos un sencillo proceso de configuración:
Instalación del Proyecto:
Iniciar un nuevo proyecto con el comando:
laravel new myAppName
Revisar la estructura de carpetas:
Laravel ya trae configuraciones predeterminadas en el archivo phpunit.xml.
Las pruebas se ubican dentro de la carpeta tests, dividiéndose en subcarpetas para pruebas unitarias y funcionales.
Creación de Clases de Pruebas:
A través de artisan, puedes crear estas clases automáticamente con comandos específicos.
php artisan make:test UserTest
Ejecución de Pruebas:
Usa phpunit para ejecutar las pruebas y confirmar su comportamiento.
vendor/bin/phpunit
Laravel facilita la creación y ejecución de pruebas, destacándose como una herramienta poderosa para asegurar la calidad del código y, al mismo tiempo, fomentar buenas prácticas de desarrollo.
Crear pruebas no solo es una actividad técnica; es una filosofía de desarrollo que te permitirá construir con seguridad y confianza. Cualquier mejora en tu aplicación estará siempre respaldada por pruebas sólidas, lo cual es indispensable en proyectos a gran escala.
Invitamos a todos los estudiantes y desarrolladores a explorar estas capacidades que ofrece Laravel y a integrar más testing dentro de sus proyectos actuales. ¡Tu habilidad para detectar y solucionar errores eficientemente mejorará significativamente!
Este proyecto me emociona mucho porque nunca he desarrollado un API, así que será la primera vez que lo haga, estoy listo!
Laravel ya tiene su manejador de test por defecto y los puedes ver declarados en el archivo phpunix.xml en la etiqueta <textsuite>
Podras ver que hay dos tipos de tests, los unit y los feature, los unit tests son pruebas que se realizan en un solo segmento de codigo, los feature tests son pruebas para un proceso o proyecto en general
El manejo y pruebas de las api se hace desde la terminal, diferente a las pruebas de frontend que se hacen de manera visual en la ventana
Para crear un test
$ php artisan make:test UserTest #crea archivo de pruebas funcionales$ php artisan make:test UserTest --unit #crea la prueba en unitarias
Los tests creados los podemos vidualizar y editar en la ruta tests/Feature y tests/Unit
Para correr todos los tests que tengamos tenemos que correr el archivo phpunit ubicado en la ruta vendor/bin/phpunit$ vendor/bin/phpunit
Introducción al testing
En windows deben ejecutar phpunit de la siguiente forma:
php vendor/phpunit/phpunit/phpunit
# También puedes utilizar el siguiente comando para que sea más visualphp vendor/phpunit/phpunit/phpunit --testdox
El testing nos garantiza de que podamos crear código de calidad. Ya Laravel viene preparado con PHPUnit con su archivo .xml ya configurado.
En la carpeta tests se encuentra las carpetas de las pruebas Unit o Feature, dentro de estas carpetas es que haremos nuestras modificaciones.
🙊 Y tenemos que recordar que vamos revisar nuestro sistema desde la terminal.
Para crear las pruebas utilizamos el siguiente comando de Artisan:
php artisan make:test UserTest
Si queremos que sea una prueba unitaria lo escribimos así;
php artisan make:test UserTest --unit
Que emocion :) !!
Conozco muy poco de testing!
Genial, espero enseñarte mucho es estos últimos videos
Excelente, eso era justo lo que quería hacer un API con LARAVEL
Si usan la Terminal de Visual Studio Code pueden usar el código de Italo es decir
vendor/bin/phpunit
pero si usan el Simbolo del Sistema de Windows hay que escribir estando dentro de la carpeta del proyecto
php vendor/phpunit/phpunit/phpunit
Llevaba tiempo esperando el desarrollo de una api con Laravel en platzi. Y con TDD mejor! muy entusiasmado con este modulo
También se pueden ejecutar los test con:
php artisan test
la diferencia con vendor/bin/phpunit es que el anterior cuando encuentra un error lo reporta y aborta los test siguientes.
Me recordo mi tesis donde trabajo con testing ♥
:)
Estoy muy interesado en esto del testing.
Bienvenido
/usr/bin/php declares an invalid value for PHP_VERSION.
This breaks fundamental functionality such as version_compare().
Please use a different PHP interpreter.
Alguien ha tenido ese error?
¿Qué sistema operativo estás usando? 🤔
Hola una pregunta, las pruebas testing solo sirven para ejercutarla en ambiente de desarrollo, o también se puede ejecutar desde el servidor de prod?
Alguna ayuda? el iframe no se ilustra:
Hola Guillermo,
¿Podrías compartirnos una captura de pantalla de tu código fuente? Por favor.
Saludos :)
Hola una consulta al momento de realizar el vendor/bin/phpunit me lanza un error gigante de que no encuentra la Class 'PHPUnit\Framework\Tests\TestCase' not found o simplemente no me ejecuta de igual manera de Italo Morales, a que se debe este problema? si alguien me ayuda porfis necesito saberlo para seguir estudiando...
Esto lo aprendi en otra clase con el profesor italo, para ver en detalle el resultado de las pruebas.
php vendor/phpunit/phpunit/phpunit --testdox
Que bien, mi primera API con este framework, y con apoyo de TDD !! Esto pinta bastante bien !! ✔
Vamo a darle !!
Para cuando un post tiene ambos contenidos lo converti en un carrusel...