Flujo de Trabajo TDD en Laravel
Desarrollo guiado por pruebas para aplicaciones Laravel usando PHPUnit y Pest con 80%+ de cobertura (unit + feature).
Cuándo Usar
- Nuevas funcionalidades o endpoints en Laravel
- Correcciones de bugs o refactorizaciones
- Probar modelos Eloquent, policies, jobs y notifications
- Preferir Pest para pruebas nuevas a menos que el proyecto ya esté estandarizado en PHPUnit
Cómo Funciona
Ciclo Rojo-Verde-Refactorizar
- Escribir una prueba fallida
- Implementar el cambio mínimo para que pase
- Refactorizar manteniendo las pruebas en verde
Capas de Prueba
- Unit: clases PHP puras, objetos de valor, servicios
- Feature: endpoints HTTP, autenticación, validación, policies
- Integration: base de datos + colas + límites externos
Elegir capas según el alcance:
- Usar pruebas Unit para lógica de negocio pura y servicios.
- Usar pruebas Feature para HTTP, autenticación, validación y forma de respuesta.
- Usar pruebas Integration cuando se validen BD/colas/servicios externos juntos.
Estrategia de Base de Datos
RefreshDatabasepara la mayoría de pruebas feature/integration (ejecuta migraciones una vez po…