Sobes.tech
Middle+

Mock (sahte) nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Mock (moc) — gerçek bir nesnenin davranışını testlerde taklit eden yer tutucu nesnedir. Mocks, test edilen kodu dış bağımlılıklardan izole etmek için kullanılır ve karmaşık veya dış işlemler gerçekleştirmeden mantığı kontrol etmeye olanak tanır.

Go'da, mocklar genellikle manuel olarak veya generatorler (örneğin, mockgen) kullanılarak oluşturulur. Bunlar, test edilen kodun kullandığı arayüzleri uygular ve beklenen çağrıları ve döndürülmesi gereken değerleri belirlemeye izin verir.

Basit bir arayüz mock örneği:

// Arayüz
type UserRepository interface {
    GetUser(id int) (*User, error)
}

// Mock
type MockUserRepo struct {
    Users map[int]*User
}

func (m *MockUserRepo) GetUser(id int) (*User, error) {
    if user, ok := m.Users[id]; ok {
        return user, nil
    }
    return nil, errors.New("kullanıcı bulunamadı")
}

Bu mock, gerçek bir veritabanı olmadan repository davranışını kontrol etmek için testlerde kullanılabilir.