Go httptest.Server 入门:给 HTTP 客户端写可信测试
很多 Go 初学者会给 HTTP handler 写测试,却不知道怎么给 HTTP 客户端写测试。比如你的服务要调用一个用户中心接口,代码里有 、URL、请求头和 JSON 解码。测试时不可能真的去调用线上用户中心,也不应该为了单元测试启动一整套依赖。标准库里的 提供了一个很实用的工具: 。
tag
很多 Go 初学者会给 HTTP handler 写测试,却不知道怎么给 HTTP 客户端写测试。比如你的服务要调用一个用户中心接口,代码里有 、URL、请求头和 JSON 解码。测试时不可能真的去调用线上用户中心,也不应该为了单元测试启动一整套依赖。标准库里的 提供了一个很实用的工具: 。
Handler 不一定要启动服务才能测试 很多人测试 HTTP 接口时,会先 启动服务,再用 curl 或浏览器访问。这种手动测试有用,但不适合长期保护代码。每次改 handler 都手动点一遍,很快会漏。Go 标准库提供了 ,可以在测试里构造请求、记录响应,不需要真的监听端口。