Junior — Middle
Ce biblioteci ai folosit pentru a crea obiecte mock în testare?
sobes.tech AI
Răspuns de la AI
În Go, pentru crearea obiectelor mock în teste, se folosesc adesea următoarele biblioteci:
- gomock — biblioteca oficială de la Google, permite generarea de mock-uri bazate pe interfețe folosind instrumentul mockgen.
- testify/mock — parte a pachetului popular testify, oferă o modalitate convenabilă de a crea mock-uri cu posibilitatea de a stabili așteptări și de a verifica apelurile.
Exemplu de utilizare 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("rezultat neașteptat: %s", res)
}
m.AssertExpectations(t)
}
Aceste biblioteci ajută la izolarea codului testat de dependențele externe și la verificarea interacțiunilor cu acestea.