Junior — Middle
Milyen könyvtárakat használtál a mock objektumok létrehozásához a tesztelés során?
sobes.tech MI
Válasz az MI-től
Go nyelven a tesztek során a következő könyvtárakat használják gyakran a mock objektumok létrehozására:
- gomock — a Google hivatalos könyvtára, a mockgen eszközzel interfészek alapján generálhat mockokat.
- testify/mock — a népszerű testify csomag része, kényelmes módot kínál mockok készítésére, várakozások beállítására és hívások ellenőrzésére.
A testify/mock használatának példája:
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("nem várt eredmény: %s", res)
}
m.AssertExpectations(t)
}
Ezek a könyvtárak segítenek elkülöníteni a tesztelt kódot a külső függőségektől, és ellenőrizni az azokkal való interakciókat.