Sobes.tech
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
}

Бул ыкма тесттелүүчү кодду чындыкка жакын базадан бөлүп кармоого мүмкүндүк берет.