@bonniernews/mocha-cakes-2

中文文档
1.0.0发布于 2026/10/23ISCTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 3334

Mocha BDD 整合

中文使用文档
文档目录18 节
  1. 安装
  2. 所需资源
  3. 使用量
  4. 启用 @ bonniernews/mocha- cakes-2 集成
  5. 测试结构
  6. 从摩卡饼升级到2 3.x
  7. 从1.x版本升级
  8. 类型脚本
  9. API 密码
  10. .skip
  11. .only
  12. beforeEachScenario 财务报告和审定财务报表 afterEachScenario
  13. beforeEachFeature 财务报告和审定财务报表 afterEachFeature
  14. 发展
  15. 持续融合
  16. 对Mocha的测试 11
  17. 测试 CLI 和 API 接口
  18. 鸣谢

摩卡蛋糕 2

莫查蛋糕是个 盖克金编号 :黄瓜 语法集成 摩诃迦叶 测试框架.

CI Sponsored

安装

国家预防机制:

npm install --save-dev @bonniernews/mocha-cakes-2

所需资源

  • 节点js 22.12或以后
  • Mocha 11或12 (中文(简体) )mocha 属于对等关系: mocha >= 11(中文(简体) )

Mocha Cakes 2在Node.js22,24和26上与Mocha 11和12进行测试.

如果你在旧版本的Node.js或Mocha上,请使用 [email protected]。 。 。 .

使用量

启用 @ bonniernews/mocha- cakes-2 集成

要启用 Mocha 集成, 您需要指定 @bonniernews/mocha-cakes-2 输入 ui 选项.

国 际

使用命令行参数 :

mocha --ui @bonniernews/mocha-cakes-2 path/to/my/tests

或者放进你身上 Mocha 配置文件,比如说. .mocharc.json数字 :

{
  "ui": "@bonniernews/mocha-cakes-2"
}

或者说 .mocharc.yml数字 :

ui: "@bonniernews/mocha-cakes-2"

API 密码

要么在你构建Mocha时在选项中通过:

var Mocha = require('mocha');
// Mocha 12 is an ES module, so `require()` returns its namespace object
Mocha = Mocha.default || Mocha;

var mocha = new Mocha({
  ui: '@bonniernews/mocha-cakes-2'
});

或者在你建造了Mocha之后设定:

var mocha = new Mocha();
mocha.ui('@bonniernews/mocha-cakes-2')

测试结构

require('chai').should();

Feature('Some feature', () => {

  Scenario('Some Scenario', () => {

    let number = 2;

    Given('a number', () => {
      number.should.exist;
    });
    And('that number is 2', () => {
      number.should.equal(2);
    });

    When('adding 40', () => {
      number += 40;
    });

    Then('the number should be 42', () => {
      number.should.equal(42);
    });
  });
});

结果会是这样的:

通用的Mocha功能(describe, (中文(简体) ), it, (中文(简体) ), before, (中文(简体) ), after等)也可用并可以与Mocha Cakes一起使用.

从摩卡饼升级到2 3.x

替换 mocha-cakes-2 依赖关系 @bonniernews/mocha-cakes-2 更改 ui 选项到 @bonniernews/mocha-cakes-2旧的 mocha-cakes-2 如果包装入, ui 名称仍然有效 --require @bonniernews/mocha-cakes-2。 。 。 .

从1.x版本升级

替换 require('mocha-cakes-2') 带有 --ui @bonniernews/mocha-cakes-2 选项.

类型脚本

TypeScript定义与@bonniernews/mocha-cakes-2相捆绑. 要直接使用 Mocha 和 TypeScript , 您需要 mocha 和 ts-节点。 。 。 .

npm install --save-dev typescript ts-node @types/mocha

你应该有一个 tsconfig.json 在您的项目根 像这样

{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node"
  }
}

现在你可以这样运行它:

mocha -r ts-node/register --ui @bonniernews/mocha-cakes-2  ...

你的测试应该是这样的:

import '@bonniernews/mocha-cakes-2';

Feature('Some feature', () => {

  Scenario('Some Scenario', () => {

    let number = 2;

    Given('a number', () => {

    });
    And('that number is 2', () => {

    });

    When('adding 40', () => {

    });

    Then('the number should be 42', () => {

    });
  });
});

API 密码

Mocha Cakes集成在全球范围增加了以下功能:

  • Feature | feature
    • Scenario | scenario
      • Given | given
      • When | when
      • Then | then
      • And | and
      • But | but

.skip

跳过测试条款。 在所有测试功能上起作用.

摩诃萨 --forbid-pending 选项得到尊重.

Feature('Some feature', () => {

  Scenario.skip('Skipped scenario', () => {
    // ...
  });

  Scenario('Ordinary', () => {
    // ...
  });
});

.only

只运行指定的测试条款 。 在所有测试功能上起作用.

多个 .only 条款是合并的,就像Mocha的 describe.only 财务报告和审定财务报表 it.only还有莫查的 --forbid-only 财务报告和审定财务报表 --grep 选项得到遵守.

Feature('Some feature', () => {

  Scenario('First scenario', () => {
    // ...
  });

  Scenario('Second scenario', () => {
    // ...
  });

  Scenario.only('Only I will run!', () => {
    // ...
  });

  // ...
});

beforeEachScenario 财务报告和审定财务报表 afterEachScenario

在当前范围内,每个设想方案只执行一次所提供的功能.

Feature('Some feature', () => {

  beforeEachScenario( () => {
    someSetup();
  });

  afterEachScenario( () => {
    doCleanup();
  });

  Scenario('First scenario', () => {
    // ...
  });

  Scenario('Second scenario', () => {
    // ...
  });

  // ...
});

beforeEachFeature 财务报告和审定财务报表 afterEachFeature

只对当前范围内的每个特性执行一次所提供的函数.

beforeEachFeature( () => {
  someSetup();
});

afterEachFeature( () => {
  doCleanup();
});

Feature('Some feature', () => {
  // ...
});

Feature('Another feature', () => {
  // ...
});

// ...

发展

使用 :

npm test

这两次运行测试套房,一次使用Mocha的CLI,一次使用Mocha的API(见下文).

持续融合

测试由 GitHub 动作 22号、24号、26号 和11号和12号.

对Mocha的测试 11

Mocha 12作为发展依赖而安装。 在当地对Mocha 11进行测试, 安装它而不保存到 package.json数字 :

npm install --no-save mocha@11 && npm test

运行 npm install 回到摩查12号.

测试 CLI 和 API 接口

如果你直接使用Mocha来进行测试,你可以设置 MOCHA_INTERFACE 环境变量为任意 cli 或者说 api 选择用哪个 Mocha 接口进行测试。 这个 api 界面在同一过程中运行样本测试,因此它也需要 --require ./mocha-cakes.js数字 :

MOCHA_INTERFACE=cli npx mocha test/feature/tests.js
MOCHA_INTERFACE=api npx mocha --require ./mocha-cakes.js test/feature/tests.js

MOCHA_INTERFACE 默认为 cli 如果没有设置值.

当你跑的时候 npm run test:cli 或者说 npm run test:api (或 npm test 管理他们俩, MOCHA_INTERFACE 自动设置到相应的值.

鸣谢

Mocha Cakes 2受到很大影响 参数v是因为 摩卡饼。 。 。 .

版本与发布记录

@bonniernews/mocha-cakes-2 共发布 3 个版本,首次发布于 2026/10/23;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.0latest2026/10/2316 天前
1.0.0-alpha.0next2026/10/2316 天前
0.0.0-stage2026/10/2316 天前

关于 @bonniernews/mocha-cakes-2 的常见问题

@bonniernews/mocha-cakes-2 是什么?

Mocha BDD 整合

如何安装 @bonniernews/mocha-cakes-2?

在项目目录运行 npm install @bonniernews/mocha-cakes-2,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:mocha(>=11)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bonniernews/mocha-cakes-2 支持 TypeScript 吗?

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

@bonniernews/mocha-cakes-2 支持 ESM 还是 CommonJS?

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

@bonniernews/mocha-cakes-2 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bonniernews/mocha-cakes-2 可以商用吗?

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

@bonniernews/mocha-cakes-2 的下载量有多少?

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

@bonniernews/mocha-cakes-2 还在维护吗?

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