Middle+
Ce este un mock (simulare)?
sobes.tech AI
Răspuns de la AI
Mock (moc) — este un obiect de substituție care imită comportamentul unui obiect real în teste. Mock-urile sunt folosite pentru a izola codul testat de dependențele externe, pentru a verifica logica fără a executa operații complexe sau externe.
În Go, mock-urile sunt adesea create manual sau cu ajutorul generatorilor (de exemplu, mockgen). Ele implementează interfețe utilizate de codul testat și permit definirea apelurilor așteptate și a valorilor returnate.
Exemplu de mock simplu pentru o interfață:
// Interfață
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("utilizatorul nu a fost găsit")
}
Acest mock poate fi folosit în teste pentru a controla comportamentul depozitului fără o bază de date reală.