claudegoodies
Skill

laravel-tdd

From affaan-m

Desarrollo guiado por pruebas para Laravel con PHPUnit y Pest, factories, pruebas de base de datos, fakes y objetivos de cobertura.

Guides red-green-refactor TDD workflow for Laravel with Pest/PHPUnit, factories, database and fake assertions.

Use it when

  • Writing tests for new Laravel endpoints or Eloquent models
  • Testing jobs, notifications, policies via Bus/Queue/Mail/Event fakes
  • Deciding between RefreshDatabase, DatabaseTransactions or DatabaseMigrations
  • Choosing between Pest and PHPUnit for new test suites

Skip it if

  • Not using Laravel or PHPUnit/Pest testing stack
  • Project isn't targeting 80%+ unit/feature coverage
  • Just needs generic TDD guidance, not Laravel-specific patterns

Facts

Repository
affaan-m/ECC
Status
Actively maintained
Last commit

Source preview

The instructions Claude Code reads when this skill runs.

# 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

1) Escribir una prueba fallida
2) Implementar el cambio mínimo para que pase
3) 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

- `RefreshDatabase` para la mayoría de pruebas feature/integration (ejecuta migraciones una vez por ejecución de prueba, luego envuelve cada prueba en una transacción cuando está soportado; las bases de datos en memoria pueden re-migrar por prueba)
- `DatabaseTransactions` cuando el esquema ya est
View full source on GitHub →

Other skills