unit-testing - httptest.NewRequest 与 http.NewRequest : which one to use in tests and why?

标签 unit-testing go request

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

如果 http.NewRequest 能做到这一切,为什么我们还需要 httptest.NewRequest

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

最佳答案

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

关于unit-testing - httptest.NewRequest 与 http.NewRequest : which one to use in tests and why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45682353/

相关文章:

iOS - 从发布版本中排除测试文件

c# - 在 C# .NET 中测试静态类和方法

go - go中的非阻塞 channel

ide - 支持 GUI 设计的 Go IDE

go - 了解crc32

python - 试图与 chalice 转发请求

scala - 如何使用 ScalaMock 5.0.0 模拟没有参数列表的方法?

php - Laravel 忽略测试数据库连接

node.js - 请求无效,错误 : Invalid protocol: 127. 0.0.1 :?

node.js - 在 multipart/form-data POST 请求 Node 中发送缓冲区 | express |要求