我正在尝试将表单变量添加到 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")
- 1 回答
- 0 关注
- 205 浏览
添加回答
举报
0/150
提交
取消