Sobes.tech
Junior — Middle

Veritabanıyla etkileşim kuran kodu nasıl test ettiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde veritabanıyla etkileşime giren kodu test etmek için birkaç yaklaşım kullanılır:

  • Veritabanını mocklama — veritabanı ile çalışma için arayüzler oluşturup gerçek çağrıları mock'lar ile değiştirerek, gerçek veritabanı olmadan mantığı test etmek.
  • Test veritabanları — ayrı bir test veritabanı veya bellek içi veritabanları (örneğin, SQLite) kullanarak entegrasyon testleri yapmak.
  • Rollback ile işlemler — testlerde, bir işlem başlatıp, işlemleri gerçekleştirip, sonunda değişiklikleri geri alarak test ortamını kirletmemek.

Arayüz ve mock kullanımı örneği:

// Veritabanı ile çalışma arayüzü
type UserRepository interface {
    GetUser(id int) (*User, error)
}

// Testlerde mock oluşturma
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
    return &User{ID: id, Name: "Test"}, nil
}

Bu yaklaşım, test edilen kodu gerçek veritabanından izole etmeye olanak tanır.