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

将 POST 变量添加到 Go test http 请求

将 POST 变量添加到 Go test http 请求

Go
繁星淼淼 2021-10-18 13:57:58
我正在尝试将表单变量添加到 Go http 请求中。这是我的 Go 测试的样子:func sample_test(t *testing.T) {    handler := &my_listener_class{}    reader := strings.NewReader("number=2")    req, _ := http.NewRequest("POST", "/my_url", reader)    w := httptest.NewRecorder()    handler.function_to_test(w, req)    if w.Code != http.StatusOK {        t.Errorf("Home page didn't return %v", http.StatusOK)    }}问题是表单数据永远不会传递给我需要测试的函数。另一个相关函数是:func (listener *my_listener_class) function_to_test(writer http.ResponseWriter, request *http.Request) {    ...}我正在使用 Go 版本 go1.3.3 darwin/amd64。
查看完整描述

1 回答

?
慕莱坞森

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

您需要向Content-Type请求添加标头,以便处理程序知道如何处理 POST 正文数据:


req, _ := http.NewRequest("POST", "/my_url", reader) //BTW check for error

req.Header.Set("Content-Type", "application/x-www-form-urlencoded")


查看完整回答
反对 回复 2021-10-18
  • 1 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信