<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HTTP Test on PlumePHP</title><link>https://plumephp.com/tags/http-test/</link><description>Recent content in HTTP Test on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 16 Jan 2025 09:34:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/http-test/index.xml" rel="self" type="application/rss+xml"/><item><title>Go httptest.Server 入门：给 HTTP 客户端写可信测试</title><link>https://plumephp.com/go-httptest-server-client-2025/</link><pubDate>Thu, 16 Jan 2025 09:34:00 +0800</pubDate><guid>https://plumephp.com/go-httptest-server-client-2025/</guid><description>&lt;p&gt;很多 Go 初学者会给 HTTP handler 写测试，却不知道怎么给 HTTP 客户端写测试。比如你的服务要调用一个用户中心接口，代码里有 &lt;code&gt;http.Client&lt;/code&gt;、URL、请求头和 JSON 解码。测试时不可能真的去调用线上用户中心，也不应该为了单元测试启动一整套依赖。标准库里的 &lt;code&gt;net/http/httptest&lt;/code&gt; 提供了一个很实用的工具：&lt;code&gt;httptest.Server&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Go HTTP Handler 测试入门：不用启动端口也能测接口</title><link>https://plumephp.com/go-http-handler-testing/</link><pubDate>Wed, 08 Apr 2020 10:05:00 +0800</pubDate><guid>https://plumephp.com/go-http-handler-testing/</guid><description>&lt;h2 id="handler-不一定要启动服务才能测试"&gt;Handler 不一定要启动服务才能测试&lt;/h2&gt;
&lt;p&gt;很多人测试 HTTP 接口时，会先 &lt;code&gt;go run .&lt;/code&gt; 启动服务，再用 curl 或浏览器访问。这种手动测试有用，但不适合长期保护代码。每次改 handler 都手动点一遍，很快会漏。Go 标准库提供了 &lt;code&gt;net/http/httptest&lt;/code&gt;，可以在测试里构造请求、记录响应，不需要真的监听端口。&lt;/p&gt;</description></item></channel></rss>