3 visitas

Mejora Significativa en la Velocidad de Tests al Actualizar de FilamentPHP v3 a v4

Descubre cómo la actualización a FilamentPHP v4 optimiza la ejecución de tests automatizados, acelerando los ciclos de desarrollo y mejorando la productividad en proyectos PHP con Laravel.

Mejora en la Velocidad de los Tests al Actualizar de FilamentPHP v3 a v4

Introducción

Como desarrollador senior en PHP y Laravel, he notado cómo la actualización de FilamentPHP v3 a v4 impacta positivamente en la velocidad de los tests automatizados. Esta mejora no solo acelera el desarrollo, sino que fomenta prácticas como TDD, incrementando la calidad del software. Aquí te explico las razones técnicas detrás y cómo aprovecharlas.

¿Por qué son más rápidos los tests en FilamentPHP v4?

FilamentPHP ha optimizado su arquitectura interna para hacer los tests más eficientes. Los principales factores son:

  • Carga Diferida y Lazy Loading: Los componentes y servicios se cargan solo cuando es necesario, evitando procesos iniciales innecesarios durante las pruebas.

  • Optimización en Base de Datos: Mejor manejo del aislamiento y limpieza, reduciendo migraciones o semillas repetitivas que ralentizan los tests.

  • Cache para Testing Mejorada: Datos y configuraciones permanecen en cache de forma óptima, evitando cálculos costosos repetidos.

  • Soporte para Ejecución Paralela: Permite correr múltiples tests simultáneamente, aprovechando mejor el hardware disponible.

La relación con TDD y productividad

Un ciclo de feedback rápido es clave en Desarrollo Guiado por Pruebas (TDD). Con tests más veloces en FilamentPHP v4, los desarrolladores pueden iterar código más rápidamente, detectar errores temprano y mantener alta calidad sin sacrificar tiempos de entrega.

Ejemplo práctico: Test optimizado en FilamentPHP v4

// tests/Feature/Resources/OrderResourceTest.php

namespace Tests\Feature\Resources;

use Tests\TestCase;
use App\Models\Order;
use Illuminate\Foundation\Testing\RefreshDatabase;

class OrderResourceTest extends TestCase
{
    use RefreshDatabase;

    public function test_can_create_order()
    {
        $payload = [
            'customer_name' => 'Empresa XYZ',
            'product_id' => 10,
            'quantity' => 5,
            'status' => 'pending'
        ];

        $response = $this->post(route('filament.resources.orders.create'), $payload);

        $response->assertStatus(302); // Redirección tras creación
        $this->assertDatabaseHas('orders', ['customer_name' => 'Empresa XYZ']);
    }
}

Buenas prácticas implementadas:

  • Uso de RefreshDatabase para mantener pruebas aisladas.
  • Payload claro y explícito.
  • Verificación del estado HTTP y persistencia en base de datos.

Este test se ejecuta más rápido en v4, facilitando correr suites más amplias.

Conclusión

Actualizar a FilamentPHP v4 es una inversión estratégica que mejora la velocidad y eficiencia de tus tests automatizados, fortaleciendo la calidad y productividad de tu equipo. Aprovecha estas mejoras para implementar TDD con ciclos cortos y acelerar tus proyectos PHP con Laravel. ¡Da el salto a v4 y optimiza tu desarrollo!

¿Quieres mejorar tus tests y acelerar tu workflow? No dudes en actualizar y aplicar estas buenas prácticas en tus proyectos.

Me dedico a crear soluciones web eficientes y a compartir mi conocimiento con la comunidad de desarrolladores.

Alejandro Leone
Backend Developer