這是在處理程式中撰寫的代碼,它獲取呼叫資料服務所需的令牌。
m2m, err := h.getM2MToken(ctx)
if err != nil {
return lc.SetResponse(&events.APIGatewayV2HTTPResponse{
StatusCode: http.StatusInternalServerError,
Body: "Internal Server Error (m2m)",
})
}
//Get the bearer token
userToken, 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)",
})
}
uj5u.com熱心網友回復:
如果服務在沒有令牌的情況下無法運行,則您必須提供一個。
如果您將要執行的呼叫無論出于何種原因都不應該在真實的目標系統上看到,您將需要一個不同的目標系統進行測驗。
- 詢問提供商他們是否有您可以使用的測驗安裝。
- 考慮針對模擬進行測驗。
uj5u.com熱心網友回復:
我的建議是首先嘗試抽象您發送到方法的輸入
喜歡而不是這個
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/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/343531.html
上一篇:go-logr和uber的zap詳細級別之間的對應關系是什么?
下一篇:使用時間包決議Go中的時間偏移
