Junior — Middle
Comment avez-vous testé le code qui interagit avec la base de données?
sobes.tech IA
Réponse de l'IA
Pour tester le code interagissant avec la base de données en Go, plusieurs approches sont utilisées:
- Mocking de la base de données — créer des interfaces pour travailler avec la BDD et remplacer les appels réels par des mocks, afin de tester la logique sans une vraie BDD.
- Bases de données de test — utiliser une base de données de test séparée ou des bases en mémoire (par exemple, SQLite) pour effectuer des tests d'intégration.
- Transactions avec rollback — dans les tests, ouvrir une transaction, effectuer des opérations, puis revenir en arrière à la fin pour ne pas polluer l'environnement de test.
Exemple d'utilisation d'une interface et de mocks:
// Interface pour travailler avec la BDD
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Dans les tests, créer un mock
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test"}, nil
}
Cette approche permet d'isoler le code testé de la base de données réelle.