Laravel ile Unit Test Yazımı: Başlangıç Rehberi

Kaan Atalay

Kaan Atalay

21 May 2024

Yazılım geliştirmede unit testler, kodunuzun doğru çalıştığını doğrulamanın ve gelecekteki hataları önlemenin en etkili yollarından biridir. Laravel, güçlü bir test altyapısı sunarak bu süreci kolaylaştırır.

1. Neden Unit Test Yazmalıyız?

  • Kod Kalitesini Artırır: Hataları erken tespit eder.
  • Bakımı Kolaylaştırır: Değişikliklerin mevcut fonksiyonelliği bozmadığını doğrular.
  • Güvenilirlik Sağlar: Kodunuzun beklendiği gibi çalıştığından emin olursunuz.

2. Laravel'de Test Yapısı

Laravel, PHPUnit ile entegre çalışır. Testler tests/ dizininde bulunur ve Feature ve Unit olmak üzere iki ana kategoriye ayrılır.

3. İlk Testinizi Yazın

Yeni bir test sınıfı oluşturun:

php artisan make:test ExampleTest --unit

tests/Unit/ExampleTest.php dosyasında test metotlarınızı tanımlayın.

public function test_basic_arithmetic() {
    $this->assertEquals(4, 2 + 2);
}

4. Testleri Çalıştırma

php artisan test

Bu komut tüm testleri çalıştırır ve sonuçları gösterir.

5. Mocking ve Faking

  • Mockery kullanarak bağımlılıkları mocklayabilirsiniz.
  • Laravel's built-in fakes ile mail, event, queue gibi sistemleri fake edebilirsiniz.

6. Veritabanı İşlemleri

  • RefreshDatabase trait'i ile test veritabanını temizleyebilirsiniz.
  • Factory ve Seeder kullanarak test verileri oluşturabilirsiniz.

7. Edge Case ve Exception Testleri

Beklenen istisnaları ve edge case'leri test ederek kodunuzun sağlamlığını artırın.

public function test_user_not_found_exception() {
    $this->expectException(ModelNotFoundException::class);
    User::findOrFail(999);
}

8. Coverage ve Raporlama

  • phpunit.xml dosyasında coverage ayarlarını yapılandırın.
  • phpunit --coverage-html coverage/ komutuyla coverage raporu oluşturun.

9. Sürekli Entegrasyon (CI) ile Entegrasyon

Testlerinizi CI/CD pipeline'ınıza entegre ederek her değişiklikte otomatik olarak çalıştırabilirsiniz.

10. En İyi Uygulamalar

  • Test isimlerini anlamlı ve açıklayıcı yapın.
  • Her test bağımsız olmalı ve kendi ortamını hazırlamalıdır.
  • Mümkün olduğunca gerçekçi senaryoları test edin.

Sonuç

Laravel ile unit test yazmak, uygulamanızın kalitesini ve güvenilirliğini artırır. Başlangıçta zaman alıcı gibi görünse de, uzun vadede büyük faydalar sağlar. Atalay Tech olarak, test odaklı geliştirme prensiplerini projelerimizde uyguluyoruz. Daha fazla bilgi için bizimle iletişime geçin.

Dijital Dönüşüm Ortağınız

Atalay Tech, yenilikçi web yazılım, mobil uygulama ve e-ticaret çözümleri sunan dinamik bir teknoloji şirketidir. Müşteri odaklı yaklaşımımızla iş süreçlerinizi hızlandırıyor ve teknolojiyi verimli bir şekilde kullanmanıza yardımcı oluyoruz. Modern yazılım mimarileri ve yüksek performanslı uygulamalarla iş dünyasında öne çıkmanızı sağlıyoruz.

Kurumsal
İletişim
Blog

Telif Hakkı © 2025 atalay.tech