Ի՞նչ է mock-օբյեկտը (կեղծ) թեստավորման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
Թեստավորման ժամանակ mock-օբյեկտը (կեղծ օբյեկտ) հատուկ օբյեկտ է, որը պատճենում է համակարգի իրական կոմպոնենտի կամ մոդուլի վարքագիծը։ Այն օգտագործվում է թեստավորվող կոդը արտաքին կախվածություններից առանձնացնելու համար՝ առանց իրական ծառայությունների կամ ռեսուրսների ազդեցության՝ տրամադրելով հնարավորինս վերահսկվող միջավայր։
Օրինակ, եթե ունեք ֆունկցիա, որը մուտք է գործում տվյալների բազա, թեստերի ժամանակ իրական կապի փոխարեն կարող եք օգտագործել mock-օբյեկտ, որը վերադարձնում է նախապես սահմանված տվյալներ։ Սա արագացնում է թեստերը և դարձնում ավելի հուսալի։
Go լեզվով՝ ինտերֆեյսներ և mock-օբյեկտների օրինակ՝
// Տվյալների բազայի հետ աշխատելու ինտերֆեյս
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Mock-իրականացում
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test User"}, nil
}
// Թեստում
func TestGetUserName(t *testing.T) {
repo := &MockUserRepo{}
user, err := repo.GetUser(1)
if err != nil {
t.Fatal(err)
}
if user.Name != "Test User" {
t.Errorf("պահանջվում էր Test User, ստացվեց %s", user.Name)
}
}
Այսպիսով՝ mock-օբյեկտները օգնում են ստեղծել վերահսկվող միջավայր՝ թեստավորման համար և բացահայտել սխալները՝ առանց արտաքին համակարգերի կախվածության։