Laravel 11 + Pest — Cómo escribir tests que no frenen tus...
Blog
Volver al Blog

Laravel 11 + Pest — Cómo escribir tests que no frenen tus lanzamientos

Ignacio Amat Ignacio Amat
3 min de lectura
Terminal mostrando ejecución exitosa de tests Pest en un proyecto Laravel 11

Terminal mostrando ejecución exitosa de tests Pest en un proyecto Laravel 11

Tabla de contenidos

En muchos equipos, el testing se ve como un “mal necesario” que ralentiza el desarrollo. “No tenemos tiempo para tests, hay que salir ya”. Como Senior Full Stack, mi respuesta es siempre la misma: no tienes tiempo para no hacer tests.

Con Laravel 11 y Pest, el testing ha pasado de ser una carga a ser una herramienta de velocidad. Aquí te explico mi estrategia para mantener la calidad sin frenar el despliegue.

¿Por qué Pest?

Pest no es solo “PHPUnit con una sintaxis bonita”. Es un cambio de mentalidad. La sintaxis funcional hace que los tests sean mucho más legibles y, por lo tanto, más fáciles de mantener.

Un test en Pest se lee casi como lenguaje natural:

it('allows a premium user to download reports', function () {
    $user = User::factory()->premium()->create();

    $this->actingAs($user)
        ->get('/reports/download')
        ->assertStatus(200);
});

Mi pirámide de testing en 2026

No todos los tests valen lo mismo. Para maximizar el ROI del tiempo invertido, sigo esta estructura:

1. Feature Tests (60%)

Es donde más me enfoco. Prueban una funcionalidad completa desde la perspectiva del usuario o de la API. Si el Feature Test pasa, sé que el negocio está a salvo. Laravel lo pone increíblemente fácil con sus helpers de HTTP y autenticación.

2. Unit Tests (30%)

Para lógica compleja, cálculos o servicios aislados. Son ultrarrápidos y me permiten probar todos los edge cases de una función sin tocar la base de datos.

3. Architecture Tests (10%)

Una de mis funcionalidades favoritas de Pest. Permiten asegurar que el equipo sigue las reglas de arquitectura automáticamente:

arch('globals')
    ->expect(['dd', 'dump', 'var_dump'])
    ->not->toBeUsed();

arch('app')
    ->expect('App\Models')
    ->toOnlyBeUsedIn('App\Repositories');

Testing aumentado por IA

Aquí es donde entra el factor 2026. Uso Claude Code para generar el “andamio” de los tests.

Mi flujo:

  1. Escribo la lógica de la feature.
  2. Le pido a Claude: “Lee este controlador y genera los feature tests necesarios cubriendo los casos de éxito, validación fallida y permisos”.
  3. Reviso y ajusto los tests generados.

Esto elimina el 80% del trabajo repetitivo de escribir tests.

El pipeline de CI/CD: La verdad definitiva

Ningún código llega a main si los tests no pasan. Uso GitHub Actions para ejecutar la suite de Pest en cada PR. Si un test falla, el despliegue se bloquea. Esto me permite dormir tranquilo sabiendo que no he roto una funcionalidad crítica en una release de viernes por la tarde.

Conclusión

El testing con Laravel 11 y Pest no es un obstáculo, es el seguro de vida de tu producto. Te permite refactorizar con confianza y entregar valor de forma constante.

Si quieres que te ayude a implementar una estrategia de testing sólida en tu proyecto Laravel o necesitas un senior que se tome la calidad en serio, hablemos.

Artículos relacionados

¿Buscas un desarrollador full stack para tu equipo?

Disponible para posiciones remotas, contratos y colaboraciones técnicas. Hablemos sobre cómo puedo aportar valor a tu equipo.

Contactar ahora

Cuéntame sobre la posición o el proyecto

Dime el tipo de posición, el stack que usa tu equipo y si tienes una fecha de incorporación en mente. Respondo en menos de 24 horas.

0/500
Contratarme