Junior — Middle
Kā jūs veicāt koda testēšanu, kas mijiedarbojas ar datu bāzi?
sobes.tech AI
Atbilde no AI
Lai testētu kodu, kas sadarbojas ar datu bāzi Go valodā, tiek izmantoti vairāki pieejas veidi:
- Datubāzes mokešana — tiek izveidoti interfeisi darbam ar datu bāzi un reālas izsaukšanas tiek aizvietotas ar moki, lai testētu loģiku bez reālas datu bāzes.
- Testu datu bāzes — tiek izmantota atsevišķa testu datu bāze vai atmiņas bāzes (piemēram, SQLite), veicot integrācijas testus.
- Transakcijas ar rollback — testos tiek atvērta transakcija, veic operācijas un beigās atgriež izmaiņas, lai neaptraipītu testēšanas vidi.
Piemērs, kā izmantot interfeisu un moki:
// Interfeiss darbam ar datu bāzi
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Testos tiek izveidots mocks
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test"}, nil
}
Šī pieeja ļauj izolēt testēto kodu no reālās datu bāzes.