在 Postman 中模拟任何 API 响应
前端测试很难。难点不在于编写测试,而在于如何让后端返回特定的响应。
你需要一个 500 错误,需要一个空列表,或者需要一个损坏的 Payload。在生产服务器上实现这些非常困难。
使用此工作流,无需改动后端即可控制每一个响应。利用 Postman mock server 和 AI 来构建你的数据。
你的前端调用一个 URL 并期望得到 JSON。将你的应用指向一个 mock server,而不是真实的 API。Mock server 是一个返回你定义的响应的虚拟地址。它使用与真实 API 相同的端点(endpoints)和数据结构(shapes)。
像 Chrome DevTools 或 Requestly 这样的浏览器工具适用于快速检查。但这些工具仅存在于你的本地机器上。你无法与团队成员共享,也无法在 CI 流水线中使用。你需要一个持久化的解决方案。
请在 Postman 中遵循以下步骤:
- 打开你的 API collection。
- 对于每个请求,点击三个点并选择 Add example。
- Example 是一个保存了状态码和响应体的响应。
- 为一个端点创建多个 example: • 200 success • 404 not found • [] empty list • 500 server error
将你的 collection 转换为 Mock collection。Postman 会为你提供一个新的 URL。将你的应用 base URL 替换为这个 mock URL。现在,你的前端就在与 mock server 通信了。
要选择 mock 返回哪个 example,请使用请求头:
x-mock-response-name: [你的 example 名称]
你的自动化测试可以发送此请求头来触发特定的场景。这使得一个端点无需触碰真实数据即可测试所有情况。
你还应该在 example 中使用动态变量。在 JSON body 中使用 {{ $randomInt }} 或 {{ $randomEmail }}。这能确保你每次收到的数据都不同,从而帮助你发现由意外输入引起的 bug。
不要手动编写几十个 example。让 AI 来完成这项工作。
通过 Postman MCP 将你的 collection 提供给 Claude。让它为每个端点生成 example 响应。这包括成功案例、边缘情况(edge cases)以及格式错误的 Payload。
AI 不再仅仅用于编写函数。利用它来构建你的测试工具。
你的团队是如何处理 mock 的?你们是使用 Postman、独立的第三方服务,还是等待后端完成?
Source: https://dev.to/antonkirilchuk/mock-any-api-response-in-postman-and-let-ai-build-the-collection-2le1
Optional learning community: https://t.me/GyaanSetuAi