为了账号安全,请及时绑定邮箱和手机立即绑定

如何测试需要令牌来调用数据服务的处理程序

如何测试需要令牌来调用数据服务的处理程序

Go
慕慕森 2022-10-10 18:04:07
这是在处理程序中编写的代码,它获取调用数据服务所需的令牌。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/


查看完整回答
反对 回复 2022-10-10
?
GCT1015

TA贡献1827条经验 获得超4个赞

如果服务在没有令牌的情况下无法运行,则您必须提供一个。

如果出于某种原因在真实目标系统上看不到您将要执行的调用,则您将需要一个不同的目标系统进行测试。

  • 询问供应商是否有您可以使用的测试安装。

  • 考虑针对模拟进行测试。


查看完整回答
反对 回复 2022-10-10
  • 2 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号