# @buoy-gg/scenarios 中文文档

规范地址：https://npmcn.com/package/%40buoy-gg/scenarios/

版本：7\.0\.87
npm 元数据更新时间：2026-11-07T01:56:02.593Z
中文译文更新时间：2026-11-08T20:26:25.336Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40buoy-gg/scenarios
原文对照：https://npmcn.com/package/%40buoy-gg/scenarios/?lang=original
项目主页：https://buoy.gg/buoy/latest/docs/tools/scenarios
源码仓库：https://github.com/LovesWorking/react-native-buoy

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：470 kB，95 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：react \*，@buoy-gg/license 7\.0\.87
- 首次发布：2026-10-22T09:22:23.076Z
- 最新版本发布：2026-11-07T01:56:02.406Z
- 近 30 天下载量：2559（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

情景 - 已保存,参数化的一塔普应用程序状态(网络覆盖、存储、冒用、导航),用于 React Independent DevTools

## 安装

```sh
npm install @buoy-gg/scenarios
```

也可以使用：`pnpm add @buoy-gg/scenarios`、`yarn add @buoy-gg/scenarios`、`bun add @buoy-gg/scenarios`

## README

# @buoy-gg/情景

使用已安装的Buoy工具的动作定义可重复的测试设置 。 一个方案可以配置响应覆盖,编辑存储,选择测试用户,或导航. 在运作之前审查其步骤和预期成果.

## 安装

```bash
npm install @buoy-gg/core @buoy-gg/scenarios @buoy-gg/network @buoy-gg/route-events
```

## 账户设置

开始开发建设。 你需要一个免费或ProBuoy账户。 从您的应用程序文件夹中签名 :

```bash
npx --package=@buoy-gg/core buoy login
```

你的浏览器打开了浮标.gg. 点击允许。 然后CLI写下 dev 符号. 它在德夫建筑工作30天.

在博览会, 信使进入 `.env.development.local`Buoy自己在dev建筑里读的 也可以自己传:

```tsx
import { Buoy } from "@buoy-gg/core";

Buoy.init({ licenseKey: process.env.EXPO_PUBLIC_BUOY_KEY });
```

在回放原生CLI时,符号会输入 `.env.local` 作为 `BUOY_KEY`。React Industrial不会自己装入文件。 用你的应用软件的套装把信使递过来 将菜单保存在您的应用程序使用的供应商内部 。 安装软件包后重新启动开发服务器 。 见 [快速启动](https://buoy.gg/buoy/latest/docs/quick-start) 用于完整的根组件.

## 定义一个情景

这个集成片段假设您的应用程序有一个匹配的菜单端点和 `/cart` 路线。 调整您的应用程序的 URL 模式、 响应机构、 路由、 并构建标签, 然后在您的现有提供者内部制作此菜单 :

```tsx
import { FloatingDevTools } from "@buoy-gg/core";
import { defineScenario, createScenariosTool } from "@buoy-gg/scenarios";

const outOfStock = defineScenario({
  id: "oos-item",
  name: "Out-of-stock item at store {{storeId}}",
  expectedOutcome: "Cart shows the item sold out; checkout is blocked.",
  authoredAgainst: "5.4.0",
  vars: [
    { key: "storeId", type: "enum", options: ["100", "220"], default: "100" },
  ],
  steps: [
    { tool: "network", action: "upsertOverrideRule",
      params: { rule: {
        urlPattern: "*/menu/{{storeId}}*", methods: ["GET"],
        kind: "respond", status: 200, body: '{"items":[{"id":"dbl","inStock":false}]}',
      } } },
    { tool: "route-events", action: "navigate", params: { path: "/cart" } },
  ],
});

<FloatingDevTools
  apps={[createScenariosTool({ scenarios: [outOfStock], currentBuild: "5.4.0" })]}
/>
```

由代码定义的情景只在设备上被读取. 安装和配置每个步骤引用的工具;宣布步骤不会执行该工具的应用集成.

## 检查激活和停用

预览情景,提供其变量,并解决任何飞行前出错. 在开发构建中运行它,触发受影响的应用请求,并检查预期的屏幕. 解除并证实正常行为回归.

飞行前验证已知要求后方可执行. 运行时间的失败仍然会留下部分效果; 它不是您应用程序和后端的交易 。 审查每一步骤的结果.

脱跑者在停用时支持主动覆盖和冒用效应。 存储写入需要明确的撤销步骤来恢复先前的值 。 被检查者报告了不可逆效应并如活化一样小心地进行了测试清理. 相冲突的情况可能需要替换活动设置;不要假设任意的情况可以一起运行.

远程草稿需要在设备上接受才能运行. 在React Industrial发行架构中,跑者需要付费计划和屏幕上的Buoy菜单. 见 [情景指南](https://buoy.gg/buoy/latest/docs/tools/scenarios) 用于变量、草稿、预览和撤消步骤.

## 桌面和MCP

反应原生连接需要 `@buoy-gg/external-sync`。跟踪 [桌面连接指南](https://buoy.gg/buoy/latest/docs/desktop),然后确认所选设备. [MCP 磁共振](https://buoy.gg/buoy/latest/docs/mcp) 使用来自 `buoy login` 在你的电脑上。 自由拥有基本的MCP. 从MCP读取这个工具需要Pro.

设备数据可以通过您的局域网前往配置的经纪人. 账户验证会提出网络请求. 见 [遥测](https://buoy.gg/buoy/latest/docs/telemetry) 用于数据流动细节.

## 网络支持(未释放)

在 FloatingDevTools 模块中注册此软件包的 /web 命名空间, 在浏览器应用程序中使用它共享的面板和动作 。 浏览器构建在此取出中是可用的, 尚未发布 。 见 [网络设置指南](https://buoy.gg/buoy/latest/docs/web-preview) 用于注册、依赖和浏览器边界.

## 常见问题

### @buoy-gg/scenarios 是什么？

情景 - 已保存,参数化的一塔普应用程序状态\(网络覆盖、存储、冒用、导航\),用于 React Independent DevTools

### 如何安装 @buoy-gg/scenarios？

在项目目录运行 npm install @buoy-gg/scenarios，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\*）、@buoy-gg/license（7\.0\.87）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @buoy-gg/scenarios 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @buoy-gg/scenarios 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @buoy-gg/scenarios 可以商用吗？

@buoy-gg/scenarios 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @buoy-gg/scenarios 的下载量有多少？

根据 npm 官方下载统计，@buoy-gg/scenarios 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,559 次，日均约 85 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @buoy-gg/scenarios 还在维护吗？

最新版本 7\.0\.87 发布于 2026/11/07（1 天前）；至今共发布 13 个版本，其中过去 12 个月发布了 13 个；首次发布于 2026/10/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

