Middle
Ce este un obiect mock (simulare) în testare?
sobes.tech AI
Răspuns de la AI
Un obiect mock (fals) în teste este un obiect special care imită comportamentul unui component sau modul real al sistemului. Este folosit pentru a izola codul testat de dependențele externe, pentru a verifica logica fără influența serviciilor sau resurselor reale.
De exemplu, dacă aveți o funcție care accesează o bază de date, în teste, în loc de o conexiune reală, puteți folosi un obiect mock care returnează date predefinite. Acest lucru accelerează testele și le face mai fiabile.
Exemplu în Go folosind interfețe și mock-uri:
// Interfață pentru lucrul cu baza de date
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Implementare mock
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test User"}, nil
}
// În test
func TestGetUserName(t *testing.T) {
repo := &MockUserRepo{}
user, err := repo.GetUser(1)
if err != nil {
t.Fatal(err)
}
if user.Name != "Test User" {
t.Errorf("așteptat Test User, obținut %s", user.Name)
}
}
Astfel, obiectele mock ajută la crearea unui mediu controlat pentru testare și la identificarea erorilor în logică fără a depinde de sisteme externe.