OCOBO tests (PHPUnit)
Dónde probar
- •Endpoints/API:
tests/Feature - •Lógica pura:
tests/Unit
Ejecutar
- •Todo:
composer test - •Filtrar:
composer test -- --filter NombreDelTest
Patrón para endpoints con Sanctum
- •Crear usuario (factory si existe, o crear directo si no).
- •Autenticar:
- •
\Laravel\Sanctum\Sanctum::actingAs($user);
- •
- •Llamar endpoint y validar:
- •HTTP status
- •JSON shape:
status,message,data|error
Plantilla mínima (Feature)
php
<?php
namespace Tests\Feature;
use Tests\TestCase;
use App\Models\User;
use Laravel\Sanctum\Sanctum;
class EndpointTest extends TestCase
{
public function test_endpoint_retorna_shape_estandar(): void
{
$user = User::first() ?? User::factory()->create();
Sanctum::actingAs($user);
$response = $this->getJson('/api/...');
$response->assertStatus(200)
->assertJson(['status' => true])
->assertJsonStructure(['status', 'message', 'data']);
}
}