Junior — Middle
Маалыматтар базасы менен иштешкен кодду кантип тесттедиңиз?
sobes.tech AI
AIден жооп
Go тилинде маалыматтар базасы менен иштөөчү кодду тестирлөө үчүн бир нече ыкмалар колдонулат:
- Моктоо базасы — маалыматтар базасы менен иштөө үчүн интерфейстер түзүп, чындыкка жакын чакырууларды моктор менен алмаштырып, логиканы чындыкка жакын эмес, тестирлөө.
- Тесттик базалар — бөлөк тесттик база же эс тутумдагы базалар (мисалы, SQLite) колдонуп, интеграциялык тесттерди өткөрүү.
- Rollback менен транзакциялар — тесттерде транзакция ачып, операцияларды жүргүзүп, акырында өзгөртүүлөрдү кайтарып, тест чөйрөсүн таза сактоо.
Интерфейс жана мокторду колдонуу мисалы:
// Маалыматтар базасы менен иштөө үчүн интерфейс
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
}
Бул ыкма тесттелүүчү кодду чындыкка жакын базадан бөлүп кармоого мүмкүндүк берет.