🧪 Testing básico en Laravel
Laravel incluye una potente herramienta de testing automatizado que permite verificar el correcto funcionamiento de tu aplicación, garantizando estabilidad, seguridad y calidad del código. Las pruebas pueden ser de unidad, integración o funcionales.
🔍 ¿Por qué hacer testing?
- Detecta errores antes de subir a producción. - Asegura que nuevas funciones no rompan las existentes. - Permite mantener código limpio y confiable.
⚙️ Configuración inicial
Laravel usa PHPUnit para ejecutar las pruebas.
Ya viene preinstalado en cada proyecto, con un archivo de configuración phpunit.xml.
# Ejecutar todos los tests
php artisan test
# O directamente con PHPUnit
vendor/bin/phpunit
🧩 Estructura de carpetas de pruebas
Los archivos de test se encuentran en /tests:
🧪 Crear una nueva prueba
php artisan make:test UsuarioTest
Esto creará un archivo en tests/Feature/UsuarioTest.php con una estructura inicial lista para editar.
📘 Ejemplo de test básico
namespace Tests\Feature;
use Tests\TestCase;
class UsuarioTest extends TestCase
{
public function test_pagina_principal_carga_correctamente()
{
$response = $this->get('/');
$response->assertStatus(200);
$response->assertSee('Laravel');
}
}
Este test verifica que la página principal responde correctamente y contiene el texto “Laravel”.
🧠 Asserts más comunes
$response->assertStatus(200)— Verifica código HTTP correcto.$response->assertSee('Texto')— Comprueba que un texto esté presente.$this->assertTrue($valor)— Asegura que la condición sea verdadera.$this->assertDatabaseHas('users', [...])— Verifica registros en la base de datos.
🧰 Testing con base de datos
Laravel permite ejecutar pruebas en una base de datos de prueba temporal usando el trait:
use Illuminate\Foundation\Testing\RefreshDatabase;
class RegistroUsuarioTest extends TestCase
{
use RefreshDatabase;
public function test_creacion_usuario()
{
$response = $this->post('/register', [
'name' => 'Jorge',
'email' => 'jorge@test.com',
'password' => '12345678',
]);
$this->assertDatabaseHas('users', ['email' => 'jorge@test.com']);
}
}
🚀 Testing de API
También puedes probar tus endpoints de API:
$response = $this->getJson('/api/users');
$response->assertStatus(200)
->assertJsonStructure(['data']);
📄 Resumen
- Usa php artisan test para ejecutar todos los tests.
- Guarda los tests en
tests/Featureotests/Unit. - Usa traits como
RefreshDatabasepara limpiar la base de datos. - Los tests garantizan la estabilidad del código en el tiempo.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias