httptest.NewRequest vs http.NewRequest:在测试中使用哪一个,为什么?

时间:2017-08-14 20:12:34

标签: unit-testing go request

Golang有两个类似的库httphttptest,它们都有NewRequest个函数。

如果httptest.NewRequest完成所有操作,为什么我们甚至需要http.NewRequest

如果我需要为我的测试创建多部分/多形式请求,我需要使用哪一个?

1 个答案:

答案 0 :(得分:3)

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