@bagaar/ember-graphql-mocking

中文文档
1.1.0发布于 2026/11/05MITTypeScriptCommonJS构建来源已验证近 30 天下载 3030

使用 Mock Service Worker(MSW) 来模拟 GraphQL 请求的 Ember 附加.

中文使用文档
文档目录7 节
  1. 兼容性
  2. 安装
  3. 使用量
  4. 1. 设置 @bagaar/ember-graphql- mocking
  5. 2. 撰写接受测试
  6. 捐款
  7. 许可证

@bagaar/ember-graphql-嘲笑

CI NPM Version

用于模拟 GraphQL 请求的 Ember 附加符 Mock服务工人。 。 。 .

兼容性

  • Ember.js v5.12起为v7.x起
  • 嵌入或嵌入自动导入 v2
  • MSW v2 或以上数

安装

npm install -D @bagaar/ember-graphql-mocking msw
pnpm add -D @bagaar/ember-graphql-mocking msw
yarn add -D @bagaar/ember-graphql-mocking msw

使用量

1. 设置 @bagaar/ember-graphql- mocking

单位 tests/test-helper.js数字 :

  1. 导入 setupEmberGraphqlMocking
  2. 导入您的图形QL 方案
  3. 打电话 setupEmberGraphqlMocking 用您的图形QL 方案
// tests/test-helper.js

import Application from 'my-app/app';
import config from 'my-app/config/environment';
import * as QUnit from 'qunit';
import { setApplication } from '@ember/test-helpers';
import { setup } from 'qunit-dom';
import { start } from 'ember-qunit';
import { setupEmberGraphqlMocking } from '@bagaar/ember-graphql-mocking/test-support'; // 1.
import schema from 'my-app/graphql/schema'; // 2.

QUnit.begin(() => setupEmberGraphqlMocking(schema)); // 3.

setApplication(Application.create(config.APP));

setup(QUnit.assert);

start();

[注] 确保使用 QUnit.begin,作为 setupEmberGraphqlMocking 返回一个承诺.

如果你想要传递额外的 启动选项 通过定义 mswStartOptions 对象 :

QUnit.begin(() =>
  setupEmberGraphqlMocking(schema, {
    mswStartOptions: {
      // Additional MSW start options...
    },
  })
);

2. 撰写接受测试

  1. 导入 mockResolvers 财务报告和审定财务报表 setupGraphqlTest
  2. 打电话 setupGraphqlTest 与 hooks
  3. 打电话 mockResolvers 以嘲笑每个测试所需的解析器

setupGraphqlTest 将确保所有解析者 在两次测试之间被清除.

mockResolvers 接受由一个或多个解析器组成的对象。 键必须是被模拟操作的名称, 值可以是响应对象 或者说 返回响应对象的函数.

[注] 确保您的操作 名称 顺序 @bagaar/ember-graphql-mocking 用于正常运行.

// tests/acceptance/my-acceptance-test.js

import { module, test } from 'qunit';
import { visit, currentURL } from '@ember/test-helpers';
import { setupApplicationTest } from 'my-app/tests/helpers';
import { mockResolvers, setupGraphqlTest } from '@bagaar/ember-graphql-mocking/test-support'; // 1.

module('Acceptance | ember-graphql-mocking', function (hooks) {
  setupApplicationTest(hooks);
  setupGraphqlTest(hooks); // 2.

  test('visiting /', async function (assert) {
    mockResolvers({ // 3.
      me: {
        id: '1',
        firstName: 'John',
        lastName: 'Doe',
      },
    });
    
    await visit('/');
    
    assert.strictEqual(currentURL(), '/');
    
    assert.dom('[data-test-me-id]').hasText('1');
    assert.dom('[data-test-me-first-name]').hasText('John');
    assert.dom('[data-test-me-last-name]').hasText('Doe');
  });
});

[注] 通话 mockResolvers 在一个单一测试范围内的多次,将简单地将所有解析器合并为一个单一根.

[注] 这些代码实例的工作版本可见于 这个加登的测试应用。 。 。 .

捐款

见 捐款 详细指南.

许可证

本项目根据以下规定获得许可证: MIT 许可证。 。 。 .

版本与发布记录

@bagaar/ember-graphql-mocking 共发布 17 个版本,首次发布于 2022/02/03;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.0latest2026/11/052 天前
1.0.02026/11/043 天前
0.11.42026/10/299 天前
0.11.32026/10/2810 天前
0.11.22025/02/051.8 年前
0.11.02024/03/062 年前

关于 @bagaar/ember-graphql-mocking 的常见问题

@bagaar/ember-graphql-mocking 是什么?

使用 Mock Service Worker(MSW) 来模拟 GraphQL 请求的 Ember 附加.

如何安装 @bagaar/ember-graphql-mocking?

在项目目录运行 npm install @bagaar/ember-graphql-mocking,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:msw(>= 2.0.0)、graphql(>= 16.0.0)、ember-source(^5.12.0 || ^6.0.0 || ^7.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bagaar/ember-graphql-mocking 支持 TypeScript 吗?

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

@bagaar/ember-graphql-mocking 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bagaar/ember-graphql-mocking 可以商用吗?

@bagaar/ember-graphql-mocking 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bagaar/ember-graphql-mocking 的下载量有多少?

根据 npm 官方下载统计,@bagaar/ember-graphql-mocking 在 2026/10/08 – 2026/11/06 这 30 天内被下载 3,030 次,日均约 101 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bagaar/ember-graphql-mocking 还在维护吗?

最新版本 1.1.0 发布于 2026/11/05(2 天前);至今共发布 17 个版本,其中过去 12 个月发布了 4 个;首次发布于 2022/02/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。