Golang有两个类似的库http
和httptest
,它们都有NewRequest
个函数。
如果httptest.NewRequest
完成所有操作,为什么我们甚至需要http.NewRequest
?
如果我需要为我的测试创建多部分/多形式请求,我需要使用哪一个?
答案 0 :(得分:3)
如文档中所示,httptest.NewRequest
“返回一个新的传入服务器请求,适合传递给http.Handler进行测试”,而http.NewRequest
“返回适合与客户端一起使用的请求。做或运输.RoundTrip。“因此,如果您在单元测试中将请求直接传递给处理程序,请使用httptest.NewRequest
,如果您使用http.Client
执行完整的往返,请使用http.NewRequest
。