Junior — Middle
Ինչպե՞ս եք փորձարկել տվյալների բազայի հետ փոխազդեցություն ունեցող կոդը։
sobes.tech AI
Պատասխան AI-ից
Go լեզվով տվյալների բազայի հետ փոխազդեցություն ունեցող կոդը փորձարկելու համար օգտագործվում են մի քանի մոտեցումներ՝
- Տվյալների բազայի մոկավորում — ստեղծել ինտերֆեյսներ տվյալների բազայի հետ աշխատելու համար և փոխարինել իրական կանչերը մոկներով՝ տրամադրելով լոգիկայի փորձարկում առանց իրական տվյալների բազայի:
// Տվյալների բազայի հետ աշխատելու ինտերֆեյս
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Փորձարկումներում մոկ ստեղծել
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test"}, nil
}
Այս մոտեցումը թույլ է տալիս փորձարկել կոդը՝ առանց իրական տվյալների բազայի:
-
Տվյալների բազայի փորձարկումներ — օգտագործել առանձին փորձարկման տվյալների բազա կամ հիշողության մեջ գտնվող բազա (օրինակ՝ SQLite)՝ ինտեգրացիոն փորձարկումներ կատարելու համար:
-
Տրանսակցիաներ հետ վերականգնման — փորձարկումների ժամանակ բացել տրանսակցիա, կատարել գործողություններ և վերջում վերականգնել փոփոխությունները՝ չլեղտարելով փորձարկման միջավայրը։
// Տվյալների բազայի հետ աշխատելու ինտերֆեյս
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Փորձարկումներում մոկ ստեղծել
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test"}, nil
}