Middle+
Kas ir mock (falsifikācija)?
sobes.tech AI
Atbilde no AI
Mock (moc) — tas objekts, kas imitē reāla objekta uzvedību testos. Mocks tiek izmantoti, lai izolētu testēto kodu no ārējām atkarībām, lai pārbaudītu loģiku bez sarežģītu vai ārēju operāciju izpildes.
Go valodā mocks bieži tiek veidoti manuāli vai ar ģeneratoriem (piemēram, mockgen). Tie īsteno interfeisus, kurus izmanto testējamais kods, un ļauj noteikt gaidāmās izsaukšanas un atgrieztās vērtības.
Vienkārša interfeisa mock piemērs:
// Interfeiss
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("lieta nav atrasta")
}
Šo mock var izmantot testos, lai kontrolētu glabātāja uzvedību bez reālas datu bāzes.