Golang具有这两个相似的库httphttptest,并且都具有NewRequest函数。

如果httptest.NewRequest全部完成,为什么我们甚至需要http.NewRequest

如果我需要为测试创建一个multipart/multiform请求,我需要使用哪一个?

最佳答案

如文档中所示, httptest.NewRequest “返回适合传入到http.Handler进行测试的新传入服务器请求”,而 http.NewRequest “返回适合与Client.Do或Transport.RoundTrip一起使用的请求”。因此,如果要在单元测试中将请求直接传递给处理程序,请使用httptest.NewRequest;如果要使用http.Client执行完整的往返,请使用http.NewRequest

09-26 10:39