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-ը կարող է օգտագործվել թեստերում՝ ռեպոզիտորի վարքագիծը վերահսկելու համար առանց իրական տվյալների բազայի։