
1. httptest 简介
在 go 语言中,进行网络相关的测试常常面临挑战,例如依赖外部服务、网络不稳定或测试环境难以控制。net/http/httptest 包正是为了解决这些问题而设计,它允许开发者在不启动真实网络监听的情况下,模拟 http 请求和响应。
httptest 主要提供了两种测试机制:
- httptest.NewServer: 用于启动一个本地的、内存中的 HTTP 服务器。这对于测试作为 HTTP 客户端的代码(即发起 HTTP 请求的代码)非常有用,它可以模拟外部 API 的行为。
- **httptest.NewRecorder










