Middle
Co je to mock-objekt (falešný objekt) v testování?
sobes.tech AI
Odpověď od AI
Mock objekt (falešný objekt) v testování je speciální objekt, který napodobuje chování skutečného komponentu nebo modulu systému. Používá se k izolaci testovaného kódu od externích závislostí, aby bylo možné ověřit logiku bez vlivu skutečných služeb nebo zdrojů.
Například pokud máte funkci, která přistupuje k databázi, v testech místo skutečného připojení můžete použít mock objekt, který vrací předem stanovená data. To urychluje testy a činí je spolehlivějšími.
Příklad v Go s rozhraním a mocky:
// Rozhraní pro práci s databází
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Mock implementace
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test User"}, nil
}
// V testu
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("očekáváno Test User, získáno %s", user.Name)
}
}
Tímto způsobem mock objekty pomáhají vytvářet kontrolované prostředí pro testování a odhalovat chyby v logice bez závislosti na externích systémech.