Middle+
Mock (სიყალბე) რა არის?
sobes.tech AI
პასუხი AI-სგან
Mock (moc) — ეს არის ობიექტი-გადამრთველი, რომელიც იმიტირებს რეალური ობიექტის ქცევას ტესტების დროს. Mocks გამოიყენება ტესტირებადი კოდის იზოლირებისთვის გარე დამოკიდებულებებისგან, რათა შემოწმდეს ლოგიკა რთული ან გარე ოპერაციების შესრულების გარეშე.
Go-ში mocks ხშირად შექმნილია ხელით ან გენერატორების (მაგალითად, mockgen) დახმარებით. ისინი ახორციელებენ იმ ინტერფეისებს, რომლებიც გამოიყენება ტესტირებადი კოდის მიერ, და საშუალებას აძლევენ განსაზღვროთ მოსალოდნელი გამოძახებები და დაბრუნებული მნიშვნელობები.
სადავო მარტივი ინტერფეისის mock-ის მაგალითი:
// ინტერფეისი
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("მომხმარებელი ვერ მოიძებნა")
}
ეს mock შეიძლება გამოყენებულ იქნას ტესტებში, რათა კონტროლდეს რეპოზიტორის ქცევა რეალური მონაცემთა ბაზის გარეშე.