什么是 Dev Proxy?

Dev Proxy 是一种 API 模拟器,可帮助你在正常路径之外轻松测试应用。

测试应用以确保其按预期工作。 但是,如果使用的 API 失败,该怎么办? 你的应用是否会丢失客户的数据? 如何对此进行测试? 模拟 API 失败是很难的。 你最终会编写那些不会发布的代码,或者更糟:根本不测试。 因此,我们构建了 Dev Proxy,以模拟 API 错误,以便无需更改代码即可轻松测试应用。

使用 Dev Proxy,可以:

Dev Proxy 是可在任何平台上工作的命令行工具。 由于它截获了网络请求,因此它适用于任何类型的应用和技术堆栈。 Dev Proxy 是开源且可免费使用的。

谁适合使用开发代理?

开发代理可帮助以下开发人员:

  • 构建调用 API 的应用 - 测试应用如何处理 api 的错误和速率限制,例如 GitHub、OpenAI 和 Anthropic,而无需更改代码
  • 使用 Microsoft Graph 生成应用 - 获取有关权限和最佳做法的指导
  • 设计 API - 实现前的原型和模拟 API
  • 自动化测试 - 将混沌测试集成到 CI/CD 管道中

何时使用Dev代理

在以下情况下使用开发代理:

  • 在不修改应用程序代码的情况下测试 API 复原能力
  • 使用任何技术堆栈(浏览器、Node.js、.NET、Python 等)
  • 模拟不控制的 API 的故障
  • 获取有关 Microsoft Graph 最佳做法的指导
  • 在 CI/CD 管道中自动执行混沌测试

在以下情况下,请考虑其他方法:

  • 只需对前端单元测试进行浏览器内模拟
  • 你正在构建 API,需要契约测试
  • 你需要以编程方式修改请求/响应正文(开发人员代理可以执行此作,但专用工具可能更简单)

场景快速入门

根据要完成的内容选择路径:

你希望做什么? Time Guide
测试我的应用程序处理 API 错误 5 分钟 使用随机错误进行测试
测试我的应用处理 GitHub API 速率限制 15 分钟 测试GitHub API 速率限制
测试我的应用是否能处理 OpenAI 速率限制 10 分钟 测试 OpenAI 速率限制
模拟尚不存在的 API 10 分钟 模拟 CRUD API
检查我的Microsoft Graph 权限 10 分钟 检测最小权限
了解我的应用调用的 API 5 分钟 查找要观看的 URL
在 CI/CD 中自动执行 API 测试 15 分钟 在 CI/CD 中使用开发代理

修复 API 问题

从 API 收到错误,或者在构建 AI 应用或代理时出错? 从问题开始:

使用预设试用

预设是特定 API 的现成 Dev Proxy 配置。 若要查看应用如何处理它调用的 API 的速率限制和错误,请首先安装 Dev Proxy。

winget install DevProxy.DevProxy --silent

安装完成后,打开新的命令提示符,以便识别更新后的 PATH。

brew tap dotnet/dev-proxy
brew install dev-proxy
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"

接下来,下载 API 的预设。

API 命令
GitHub devproxy config get github-rate-limiting
OpenAI devproxy config get openai-throttling
Anthropic devproxy config get anthropic-throttling
Microsoft Graph devproxy config get microsoft-graph-rate-limiting

使用预设启动开发代理。 用您下载的预设替换 github-rate-limiting。 首次启动开发代理时,需要 信任其证书。

devproxy --config-file "~dataFolder/configs/github-rate-limiting/.devproxy/devproxyrc.json"

照常运行应用。 它不断调用真正的 API URL,而开发代理模拟 API 的速率限制和错误。

有关其他 API 的预设,请参阅 Dev Proxy 示例库。

应用如何处理 API 错误?

另请参阅