馃И 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