摩卡蛋糕 2
莫查蛋糕是个 盖克金编号 :黄瓜 语法集成 摩诃迦叶 测试框架.
安装
国家预防机制:
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 | featureScenario | scenarioGiven | givenWhen | whenThen | thenAnd | andBut | 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是因为 摩卡饼。 。 。 .