Sobes.tech
Junior — Middle

Hogyan tesztelte az adatbázissal kommunikáló kódot?

sobes.tech MI

Válasz az MI-től

A Go nyelvű adatbázissal működő kód teszteléséhez több megközelítést alkalmaznak:

  • Az adatbázis mockolása — interfészek létrehozása az adatbázissal való munkához, és a valódi hívások helyettesítése mock-okkal, így a logika tesztelhető valódi adatbázis nélkül.
  • Tesztadatbázisok — külön tesztadatbázis vagy memória-alapú adatbázisok (pl. SQLite) használata integrációs tesztekhez.
  • Rollback-es tranzakciók — a tesztek során tranzakciót nyitnak, műveleteket hajtanak végre, majd a végén visszaállítják a változásokat, hogy ne szennyezzék a tesztkörnyezetet.

Interfész és mock példák:

// Az adatbázissal való munkához interfész
type UserRepository interface {
    GetUser(id int) (*User, error)
}

// Mock létrehozása tesztekben
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
    return &User{ID: id, Name: "Test"}, nil
}

Ez a megközelítés lehetővé teszi a tesztelendő kód izolálását a valódi adatbázistól.