Blog   We BRT
Laravel Feb 16, 2026
64 views

Testare automată în Laravel: de la setup la exemple practice

Acest articol prezintă cum să configurezi și să scrii teste automate în Laravel folosind PHPUnit și Pest, incluzând exemple practice pentru teste unitare și feature.

Sumar

  1. Introducere în testarea automată
  2. Configurarea mediului de test
  3. Teste unitare
  4. Teste Feature
  5. Mock-uri și baze de date
  6. Rularea testelor
  7. Concluzie

Introducere în testarea automată

Laravel vine cu suport integrat pentru testare folosind PHPUnit și oferă o sintaxă elegantă pentru testarea aplicațiilor.

Configurarea mediului de test

Fișierul .env.testing poate fi folosit pentru configurări separate.

Rulează migrațiile pentru test:

php artisan migrate --env=testing

Teste unitare

Creare test unitar:

php artisan make:test OrderServiceTest --unit

Exemplu:

public function test_order_total_is_calculated_correctly()
{
    $order = new Order(['price' => 100, 'quantity' => 2]);
    $this->assertEquals(200, $order->price * $order->quantity);
}

Teste Feature

Creare test feature:

php artisan make:test OrderTest

Exemplu:

public function test_user_can_create_order()
{
    $user = User::factory()->create();

    $response = $this->actingAs($user)->post('/orders', [
        'name' => 'Test Order'
    ]);

    $response->assertStatus(302);
    $this->assertDatabaseHas('orders', ['name' => 'Test Order']);
}

Mock-uri și baze de date

Laravel oferă RefreshDatabase trait pentru resetarea bazei de date:

use Illuminate\Foundation\Testing\RefreshDatabase;

Pentru mock-uri:

$this->mock(OrderService::class, function ($mock) {
    $mock->shouldReceive('process')->once();
});

Rularea testelor

php artisan test

Sau folosind PHPUnit:

vendor/bin/phpunit

Concluzie

Testarea automată în Laravel ajută la prevenirea regresiilor și la menținerea calității codului, oferind încredere în evoluția aplicației.

#Laravel #Testare
Ce parere ai?
Distribuie articolul:

Articole asemanatoare