Bruno 完整教程:把 API 调试集合成文本文件,用 Git 协作管理
【免费下载链接】brunoOpensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno
Bruno 是一款开源的 API 测试工具,整套 API 集合以纯文本 .bru 文件存放在本地文件夹里,不依赖云端账号,还能直接用 Git 管理。本文带你从安装到多环境调试工作流,一次跑通。
集合散落各处?Bruno 把它放进一个文件夹
你可能遇到过这种情况:团队的接口请求散落在各个账号的工作区里,想交接、想回滚都困难。Bruno 的做法是把整个集合做成磁盘上的一个普通文件夹,每个请求就是一个 .bru 纯文本文件。后端开发、前端联调、需要把请求沉淀进代码仓库的测试同学,都适合直接上手。跑起来之后目录结构很直观:请求按文件夹组织,环境放在 environments/ 下,集合级配置写在 bruno.json 里。
Bruno 安装步骤:三条命令跑通客户端
按系统选包管理器,一行装完:
# macOS (Homebrew) brew install bruno # Windows (Chocolatey) choco install bruno # Linux (Snap) snap install bruno装完打开应用,用"Open Collection"指向任意一个文件夹即可。想从源码构建也可以直接拉仓库:
git clone https://gitcode.com/GitHub_Trending/br/bruno.git cd bruno npm install npm run dev客户端跑起来后新建一个请求,写法极其简单,本质就是一段文本:
method GET url {{host}}/api/users保存后它立刻落盘成文件,你用任何文本编辑器改它,客户端也会自动同步。
Bruno 多环境配置:一个文件切换测试和生产
这是 Bruno 最核心的使用场景。在 environments/ 目录下为每个环境建一个文件,例如 environments/Local.bru:
vars { host: http://localhost:8080 }请求 URL 里写{{host}},在应用右上角切换环境,同一个请求就能从本地服务瞬间指向预发地址。命令行同样支持:
bru run ping.bru --env Local敏感值也可以写进程变量,比如token: {{process.env.API_TOKEN}},密钥不落库、不进 Git 历史。
配置与扩展:三处最值得做对
集合级共享配置。场景:整个集合的请求都要带同一个 Bearer Token 和固定请求头。做法:在集合根目录的 collection.bru 里写一次,子请求自动继承,也可以逐个覆盖。效果:几十个请求不再需要逐个复制请求头。
bruno.json。场景:内网环境要走代理,或希望新建请求时预填默认地址。做法:在 bruno.json 里配置 proxy 与 presets 字段,还能在 scripts.moduleWhitelist 里声明脚本可引用的模块白名单。效果:集合一打开,行为就是团队约定好的。
Bruno CLI 接 CI。场景:每次推送后自动跑一遍集合。做法:
npm install -g @usebruno/cli bru run --output results.json --format junit效果:退出码 0 表示全部通过,非 0 即失败,CI 里只检查退出码就能卡住问题请求。完整选项见 packages/bruno-cli/readme.md。
三个组合把 Bruno 用到极致
- Git:集合是纯文本,直接提交进仓库,请求变更能看 diff、走评审。Bruno 坚持完全离线、不做云同步,这正是为这套流程设计的。
- Docker:官方 usebruno/cli 镜像让你在 CI 里免装 Node 也能跑集合:
docker run -v $(pwd):/bruno usebruno/cli run。 - OpenAPI:只有接口文档也能起步,
bru import openapi -s api.yml -o my-collection一条命令转成 Bruno 集合。
落地建议:把仓库里现成的示例集合 packages/bruno-tests/collection/ 拷到桌面,用 Bruno 打开,照着它理解请求、环境和脚本三者的组织方式。
【免费下载链接】brunoOpensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考