📜  chai equal (1)

📅  最后修改于: 2023-12-03 15:14:07.910000             🧑  作者: Mango

深入研究Chai断言库

Chai是一个JavaScript测试库,它提供了三种风格的断言,可以与任何JavaScript测试框架结合使用。本文将介绍Chai库中的断言库。

equal

equal断言测试两个变量是否相等。它使用的是 JavaScript 的相等比较运算符。

assert.equal(3, '3', '== coerces values to strings'); // 相等
assert.equal({ a: { b: 1 } }, { a: { b: 1 } }); // 相等
assert.equal(3, 4); // 抛出 AssertionError: 3 == 4

在上面的示例中,第一个断言比较数字3和字符串'3'。因为相等比较运算符会将数字3转换为字符串,所以它们是相等的。第二个断言比较两个对象,因为它们具有相同的属性和值,所以它们是相等的。第三个断言比较数字3和数字4,它们不相等,所以它会抛出一个AssertionError。

使用

Chai具有非常详细的文档,可以方便地找到所有可用的断言和选项。可以安装chai以及相应的插件以使用它,例如使用chai.assert使用:

const { assert } = require('chai');

assert.typeOf(3, 'number'); // 通过

可以使用expect

const { expect } = require('chai');

expect(3).to.be.a('number'); // 通过

或者使用should风格:

const should = require('chai').should();

const foo = 'bar';
foo.should.be.a('string');

无论你使用哪种风格,Chai都提供了许多类似的断言函数。这些函数非常灵活,允许你自定义断言错误消息,检查值的类型和结构,以及许多其他功能。使用上述方法来查阅文档并开始使用Chai的断言库,可以大大简化JavaScript测试。