来自 chai-bytes 的分支,作为 ESM 发布,具有更宽松的输入类型。
用于字节数组相等的 Chai 断言
chai-bytes 扩展了 Chai,增加了一个 equalBytes
函数,可用于测试字节数组(例如 Uint8Array
实例)的相等性。
基本用法
const { expect, assert } = require('chai')
.use(require('chai-bytes'));
const buffer = new Uint8Array([ 1, 2, 3, 4, 5 ]);
expect(buffer).to.equalBytes('0102030405');
// `assert` style works, too
assert.equalBytes(buffer, [1, 2, 3, 4, 5], 'error message');
传递给 equalBytes
的预期值可以是
- 十六进制字符串,例如
'c0ffee'
- 数组,例如
[1, 2, 3]
- 类数组对象(即具有
length
属性且可以通过整数属性访问其元素的对象)。这包括Uint8Array
实例,以及其他类似对象
如果传递的值不属于以上任何类别,则会抛出 TypeError
。
开发者笔记
chai-bytes 使用来自测试浏览器环境(Firefox 和 PhantomJS)的组合代码覆盖率。这是因为 PhantomJS 是一个典型的旧环境,可能会遇到 Uint8Array
问题(例如,它缺少一些方法)。
许可证
chai-bytes 采用 Apache-2.0 许可证。