Junior — Middle
Quelles bibliothèques avez-vous utilisées pour créer des objets simulés lors des tests?
sobes.tech IA
Réponse de l'IA
En Go, pour créer des objets simulés lors des tests, on utilise souvent les bibliothèques suivantes:
- gomock — bibliothèque officielle de Google, permet de générer des mocks à partir d'interfaces avec l'outil mockgen.
- testify/mock — partie du paquet populaire testify, offre une méthode pratique pour créer des mocks avec la possibilité de définir des attentes et de vérifier les appels.
Exemple d'utilisation de testify/mock:
import (
"testing"
"github.com/stretchr/testify/mock"
)
type MyInterface interface {
DoSomething(int) string
}
type MyMock struct {
mock.Mock
}
func (m *MyMock) DoSomething(i int) string {
args := m.Called(i)
return args.String(0)
}
func TestMyFunction(t *testing.T) {
m := new(MyMock)
m.On("DoSomething", 123).Return("result")
res := m.DoSomething(123)
if res != "result" {
t.Errorf("résultat inattendu: %s", res)
}
m.AssertExpectations(t)
}
Ces bibliothèques aident à isoler le code testé des dépendances externes et à vérifier leurs interactions.