· Admin

Laravel Testing: Feature ve Unit Test Rehberi

Test yazmak zaman kaybı değil, yatırımdır. Bugün yazdığınız test yarın sizi saatlerce debug'dan kurtarır.

Test Türleri

  • Unit Test: Tek bir fonksiyon veya method'u test eder
  • Feature Test: HTTP request'leri ve response'ları test eder
  • Integration Test: Birden fazla bileşenin birlikte çalışmasını test eder

Feature Test Örneği

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

    $response = $this->actingAs($user)
        ->post('/admin/blog/posts', [
            'title' => 'Test Post',
            'content' => 'Test content',
            'status' => 'published',
        ]);

    $response->assertRedirect();
    $this->assertDatabaseHas('posts', ['title' => 'Test Post']);
}

Ne Kadar Test?

%100 coverage hedeflemeyin. Kritik iş mantığını, edge case'leri ve regression bug'ları test edin. Pragmatik olun.