Middle+
Wat is een mock (nep) ?
sobes.tech AI
Antwoord van AI
Mock (moc) — een object dat de gedragingen van een echt object nabootst tijdens tests. Mocks worden gebruikt om de geteste code te isoleren van externe afhankelijkheden, zodat de logica kan worden gecontroleerd zonder complexe of externe operaties uit te voeren.
In Go worden mocks vaak handmatig gemaakt of met generators (bijvoorbeeld mockgen). Ze implementeren interfaces die door de geteste code worden gebruikt en maken het mogelijk om verwachte aanroepen en teruggegeven waarden te definiëren.
Voorbeeld van een eenvoudige mock van een interface:
// Interface
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("gebruiker niet gevonden")
}
Deze mock kan worden gebruikt in tests om het gedrag van de repository te controleren zonder een echte database.