@cypress/sinon-chai

中文文档
2.9.1发布于 2020/12/30(BSD-2-Clause OR WTFPL)CommonJS零依赖近 30 天下载 9587

将Chai扩展为 Sinon.JS 嘲笑框架,与 Cypress.io 兼容

中文使用文档
文档目录7 节
  1. 请求
  2. 实例
  3. 安装和使用
  4. 节点
  5. AMD (英语)
  6. <script> 标签
  7. 铁路上的Ruby

锡农. JS Chai 请求

renovate-app badge semantic-release CircleCI

希农 柴仔 柴仔 柴仔 提供一套自定义断言,用于使用 西农. 联合来文 间谍、间谍和嘲弄框架 柴仔 主张图书馆。 你用西农的强大工具 得到柴的所有好处 联合来文.

取而代之用西农. 联合来文称:

sinon.assertCalledWith(mySpy, "foo");

或尴尬地试图用柴的 should 或者说 expect 间谍属性的界面 :

mySpy.calledWith("foo").should.be.ok;
expect(mySpy.calledWith("foo")).to.be.ok;

你可以说

mySpy.should.have.been.calledWith("foo");
expect(mySpy).to.have.been.calledWith("foo");

请求

所有你最喜欢的Sinon.JS的说法都进入了Sinon-Chai。 我们展示 should 这里的语法 expect 也可提供等同数据.

Sinon.JS财产/方法 Sinon-Chai 主张
调用 间谍。 。
调用 间谍
名为 Once 间谍,应该... 已经..
两次 间谍,应该... 已经... 已经..
名为Thrike 间谍,应该... 已经..
调用前 间谍1号,应该. been before (spy2)
后调用 间谍1号,应该的,应该的,应该的
名为即时 间谍,应该的,应该的,应该的,应该的
之后立即调用 间谍,应该的,应该的,应该的,应该的,应该的
名为新 间谍,应该... 应该..
总是用新调用 一直以来 一直以来 一直叫着"新"
调用 间谍,应该... 已经..
总是唤起 间谍,应该的,永远的,永远的,永远的
调用 间谍,应该... 已经..
总是用 间谍,应该一直... 一直..
调用 准确 间谍,应该... 已经..
总是叫 准确 间谍,应该的,永远的,永远的,永远的
名为 Match 间谍,应该的,应该的,应该的
总是用匹配调用 间谍,应该永远... 一直..
已返回 已返回(返回Val)
总是回归 总是有 返回(返回)
丢弃 间谍。应该。 已经。
永远 线索 间谍,应该. 总是. 推 (错误的ObjOror Error Type String Or nothing) (错误的ObjOror Error Type String Or nothing) (错误的ObjOrror Error Type String Or nothing) (错误的ObjOrror or or or nothing (错误的ObjOrreor or or or or or or or rerror Type String Or nothing) (错误的Objjor,应该

关于每项主张行为的更多信息,见: 相应的间谍方法的文档当然,这些工作不仅针对间谍,而且针对 个别间谍的电话, 棍子,和嘲弄.

请注意,你可以否定任何断言 蔡的 .not. E. g. 用于 notCalled 使用情况 spy.should.have.not.been.called。 。 。 .

对于 assert 界面不需要此库。 您可以安装 Sinon.JS的说法 进入柴家 assert 对象为 expose数字 :

var chai = require("chai");
var sinon = require("sinon");

sinon.assert.expose(chai.assert, { prefix: "" });

实例

使用柴的 should数字 :

"use strict";
var chai = require("chai");
var sinon = require("sinon");
var sinonChai = require("sinon-chai");
chai.should();
chai.use(sinonChai);

function hello(name, cb) {
    cb("hello " + name);
}

describe("hello", function () {
    it("should call callback with correct greeting", function () {
        var cb = sinon.spy();

        hello("foo", cb);

        cb.should.have.been.calledWith("hello foo");
    });
});

使用柴的 expect数字 :

"use strict";
var chai = require("chai");
var sinon = require("sinon");
var sinonChai = require("sinon-chai");
var expect = chai.expect;
chai.use(sinonChai);

function hello(name, cb) {
    cb("hello " + name);
}

describe("hello", function () {
    it("should call callback with correct greeting", function () {
        var cb = sinon.spy();

        hello("foo", cb);

        expect(cb).to.have.been.calledWith("hello foo");
    });
});

安装和使用

节点

做一个 npm install sinon-chai 起来跑步 然后说:

var chai = require("chai");
var sinonChai = require("sinon-chai");

chai.use(sinonChai);

您当然可以将这个代码放入普通的测试固定文件; 例如使用 摩诃迦叶,参见 希农-蔡测试本身。 。 。 .

AMD (英语)

希农 Chai 支持用作一种 AMD (英语) 模块,以匿名方式注册(和Chai一样)。 所以,假设你 已配置您的加载器, 将 Cai 和 Sinon- Chai 文件映射到相应的模块ID "chai" 财务报告和审定财务报表 "sinon-chai",可以按以下方式使用:

define(function (require, exports, module) {
    var chai = require("chai");
    var sinonChai = require("sinon-chai");

    chai.use(sinonChai);
});

<script> 标签

若您直接将 Sinon – Chai 包含在其中,则 <script> 标记,在Chai本身之后,它会自动插入 准备使用 注意您会想要获得西农的最新浏览器构建. 联合来文:

<script src="chai.js"></script>
<script src="sinon-chai.js"></script>
<script src="sinon.js"></script>

铁路上的Ruby

感谢 柴门警队现在 鲁比宝石 将它与铁路资产管道整合在一起的锡农-猜!

版本与发布记录

@cypress/sinon-chai 共发布 6 个版本,首次发布于 2017/06/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.9.1latest2020/12/305 年前
2.9.02019/06/197 年前
0.0.0-development2019/06/187 年前
1.1.02017/08/129 年前
1.0.12017/07/209 年前
1.0.02017/06/269 年前

关于 @cypress/sinon-chai 的常见问题

@cypress/sinon-chai 是什么?

将Chai扩展为 Sinon.JS 嘲笑框架,与 Cypress.io 兼容

如何安装 @cypress/sinon-chai?

在项目目录运行 npm install @cypress/sinon-chai,或使用 pnpm add / yarn add / bun add。

@cypress/sinon-chai 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cypress__sinon-chai 是否存在。

@cypress/sinon-chai 支持 ESM 还是 CommonJS?

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

@cypress/sinon-chai 可以商用吗?

@cypress/sinon-chai 使用 (BSD-2-Clause OR WTFPL) 许可。可在 BSD-2-Clause、WTFPL 中任选其一遵守。选择 BSD-2-Clause 时,宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cypress/sinon-chai 的下载量有多少?

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

@cypress/sinon-chai 还在维护吗?

最新版本 2.9.1 发布于 2020/12/30(5 年前);至今共发布 6 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/06/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。