我试图找到一个解决方案来编写测试和模拟HTTP响应。 在我的功能,我接受接口:如何模拟http.Client做方法
type HttpClient interface {
Do(req *http.Request) (*http.Response, error)
}
我做HTTP GET与基地AUTH请求
func GetOverview(client HttpClient, overview *Overview) (*Overview, error) {
request, err := http.NewRequest("GET", fmt.Sprintf("%s:%s/api/overview", overview.Config.Url, overview.Config.Port), nil)
if (err != nil) {
log.Println(err)
}
request.SetBasicAuth(overview.Config.User, overview.Config.Password)
resp, err := client.Do(request)
我怎么能嘲笑这个HttpClient的? 我在寻找模拟库,例如:https://github.com/h2non/gock 但仅适用于获取和后
也许我应该做它用不同的方式模拟。 我将不胜感激