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.