这是在处理程序中编写的代码,它获取调用数据服务所需的令牌。m2m, err := h.getM2MToken(ctx)if err != nil { return lc.SetResponse(&events.APIGatewayV2HTTPResponse{ StatusCode: http.StatusInternalServerError, Body: "Internal Server Error (m2m)", })}//Get the bearer tokenuserToken, err := h.getBearer(req.Headers)if err != nil { xray.AddError(ctx, err) return lc.SetResponse(&events.APIGatewayV2HTTPResponse{ StatusCode: http.StatusInternalServerError, Body: "Internal Server Error (bearer)", })}
2 回答

幕布斯6054654
TA贡献1876条经验 获得超7个赞
我的建议是首先尝试抽象您发送到方法的输入
喜欢而不是这个
userToken, err := h.getBearer(req.Headers)
您可以传递指定的接口,例如
type userTokenInput struct {}
uti := userTokenInput{}
userToken, err := h.getBearer(uti)
以上帮助您控制输入,从而使测试更容易
对于网络调用,请尝试使用一些可以返回预期数据的模拟 HTTP 客户端,您可以按照此模拟 HTTP 客户端https://www.thegreatcodeadventure.com/mocking-http-requests-in-golang/

GCT1015
TA贡献1827条经验 获得超4个赞
如果服务在没有令牌的情况下无法运行,则您必须提供一个。
如果出于某种原因在真实目标系统上看不到您将要执行的调用,则您将需要一个不同的目标系统进行测试。
询问供应商是否有您可以使用的测试安装。
考虑针对模拟进行测试。
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消