Middle+
O que é um mock (simulação)?
sobes.tech IA
Resposta da IA
Mock (moc) — é um objeto de substituição que imita o comportamento de um objeto real nos testes. Os mocks são usados para isolar o código testado de dependências externas, para verificar a lógica sem executar operações complexas ou externas.
Em Go, os mocks são frequentemente criados manualmente ou com geradores (por exemplo, mockgen). Eles implementam interfaces usadas pelo código testado e permitem definir chamadas esperadas e valores de retorno.
Exemplo de um mock simples de uma interface:
// Interface
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Mock
type MockUserRepo struct {
Users map[int]*User
}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
if user, ok := m.Users[id]; ok {
return user, nil
}
return nil, errors.New("utilizador não encontrado")
}
Este mock pode ser usado em testes para controlar o comportamento do repositório sem uma base de dados real.