Sobes.tech
Middle+

Qu'est-ce qu'un mock (simulation) ?

sobes.tech IA

Réponse de l'IA

Mock (moc) — c’est un objet de substitution qui imite le comportement d’un objet réel lors des tests. Les mocks sont utilisés pour isoler le code testé des dépendances externes, afin de vérifier la logique sans exécuter d’opérations complexes ou externes.

En Go, les mocks sont souvent créés manuellement ou à l’aide de générateurs (par exemple, mockgen). Ils implémentent des interfaces utilisées par le code testé et permettent de définir des appels attendus et des valeurs de retour.

Exemple d’un mock simple d’une 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("utilisateur non trouvé")
}

Ce mock peut être utilisé dans des tests pour contrôler le comportement du dépôt sans base de données réelle.