Sobes.tech
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ă.