SuperAPI AI 工具集

bruno

测试与质量

查看项目

更新于 10-16 06:59

技能介绍

Bruno 是一款开源的 API 客户端,定位为“Git 友好”的接口调试工具。它把 API 集合保存为纯文本文件,存放在 Git 仓库中,与应用程序代码放在一起,从而支持版本管理、代码评审和通过 Git 共享。与云端同步、使用专有格式的 Postman 不同,Bruno 使用人类可读的 Bru 格式,不依赖云同步,不需要账号,集合数据不会离开用户的机器或仓库。

主要能力

集合结构:Bruno 集合以目录形式组织,根目录包含 bruno.json 集合配置,可按业务模块划分文件夹,例如 auth/、users/、orders/,每个文件夹内放置对应的 .bru 请求文件。

Bru 文件格式:单个请求以 .bru 文件描述,内容人类可读且可被 Git diff。文件内包含 meta 块(名称、类型、序号)、post 块(URL、请求体类型、鉴权方式)、headers 块、body:json 块、script:post-response 块以及 tests 块。

环境管理:通过 environments 目录下的 .bru 文件管理不同环境(如 dev、staging、production),在 vars 块中定义 baseUrl、testEmail、testPassword 等变量,并用 vars:secret 声明密钥变量;被标记为 secret 的变量不会提交到仓库。

脚本能力:支持预请求脚本(发送前运行)和后响应脚本(处理响应)。可使用 bru.getVar()、bru.setVar() 读写变量,并支持在脚本中使用 Node.js 模块(如 crypto)生成签名、时间戳等。通过在后响应脚本中保存令牌等数据,可实现请求之间的变量传递与串联。

测试断言:每个请求可编写 tests 块,使用 test() 与 expect() 断言响应状态码、字段类型、字段值等,用于捕获 API 回归。

CLI 与 CI/CD:提供命令行工具,可安装后在 CI 中运行整个集合或指定文件夹,支持指定环境、通过 --env-var 传入环境变量、输出 JUnit XML 格式结果,便于管道集成并在测试失败时中断流水线。

安装方式

桌面应用(GUI):从 https://www.usebruno.com/downloads 下载。

命令行工具:npm install -g @usebruno/cli。

常用命令示例:bru run --env dev 运行整个集合并指定 dev 环境;bru run auth/ --env dev 运行指定文件夹;bru run --env production --env-var apiKey=sk_live_xxx 传入自定义环境变量;bru run --env dev --output results.xml --format junit 输出 JUnit XML 供 CI 使用。

适用场景

适合将 API 集合与代码一同版本管理的团队,在 Pull Request 中评审接口变更;适合需要多环境(开发、预发、生产)切换与密钥隔离的接口调试;适合在部署后运行 bru run --env staging 验证 API 契约,并在测试失败时让流水线失败;也适合把集合当作“活的 API 文档”,新成员通过运行请求来理解接口。

限制

资料未提供具体的收费与价格信息,也未提供除上述安装与命令外的平台支持范围、性能数据或效果承诺;这些内容暂未提供。