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.