Junior — Middle
Ի՞նչ գրադարաններ եք օգտագործել մոկ-օբյեկտներ ստեղծելու համար թեստավորման ժամանակ։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, թեստավորման ժամանակ մոկ օբյեկտներ ստեղծելու համար հաճախ օգտագործվում են հետևյալ գրադարանները:
- gomock — Google-ի պաշտոնական գրադարանն է, որը թույլ է տալիս մոկեր ստեղծել ինտերֆեյսների հիման վրա mockgen գործիքի միջոցով:
- testify/mock — հանրահայտ testify փաթեթի մաս է, որը հարմար միջոց է մոկեր ստեղծելու, սպասելիքներ սահմանելու և զանգահարումների ստուգման համար:
Օրինակ 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("անհասկանալի արդյունք: %s", res)
}
m.AssertExpectations(t)
}
Այս գրադարանները օգնում են թեստավորվող կոդը մեկուսացնել արտաքին կախվածություններից և ստուգել նրանց հետ փոխազդեցությունները։