Junior — Middle
Welke bibliotheken hebt u gebruikt voor het maken van mock-objecten in tests?
sobes.tech AI
Antwoord van AI
In Go worden voor het maken van mock-objecten in tests vaak de volgende bibliotheken gebruikt:
- gomock — officiële bibliotheek van Google, stelt je in staat om mocks te genereren op basis van interfaces met behulp van het mockgen gereedschap.
- testify/mock — onderdeel van de populaire testify pakket, biedt een handige manier om mocks te maken met de mogelijkheid om verwachtingen in te stellen en oproepen te controleren.
Voorbeeld van gebruik van 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("onverwacht resultaat: %s", res)
}
m.AssertExpectations(t)
}
Deze bibliotheken helpen om de geteste code te isoleren van externe afhankelijkheden en de interacties ermee te controleren.