Golang测试中Error Missing call(s)的问题如何解决
Golang测试中Error Missing call(s)的问题如何解决
我正在尝试使用 go/mock 模拟服务层来测试我的处理程序层。
运行测试时出现以下错误

以下是我进行模拟的方式:
mockBehavior: func(s *mock_service.MockUploader, ctx context.Context, data model.Data) {
s.EXPECT().XMLFinesService(ctx, data)
}
以及 Run 函数:
for _, testCase := range testTable {
t.Run(testCase.name, func(t *testing.T) {
// Init
ctrl := gomock.NewController(t)
cfg := &config.Config{}
upload := mock_service.NewMockUploader(ctrl)
testCase.mockBehavior(upload, testCase.inputContext, testCase.inputData)
services := &service.Services{Uploader: upload}
handler := NewHandlers(services, cfg)
// Test server
e := echo.New()
e.POST("/uploadXML", handler.Upload.UploadXMLFines())
// Test request
w := httptest.NewRecorder()
req := httptest.NewRequest("POST", "/uploadXML", bytes.NewBufferString(testCase.inputBody))
// Perform request
e.ServeHTTP(w, req)
// Assert
assert.Equal(t, testCase.expectedStatusCode, w.Code)
assert.Equal(t, testCase.expectedRequestBody, w.Body.String())
})
}
更多关于Golang测试中Error Missing call(s)的问题如何解决的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复


