chai-arrays 持續整合

一個簡單的 chai 外掛,用於更好的陣列斷言


安裝

npm install chai-arrays

使用方式

外掛程式

const chai = require('chai');
const assertArrays = require('chai-arrays');
chai.use(assertArrays);

array

斷言 actual 的型別為 Array

expect([1, 2, 3]).to.be.array();
expect('foobar').not.to.be.array();

expect(new Uint8Array([1])).to.be.Uint8Array();
expect(new Uint16Array([1])).to.be.Uint16Array();
expect(new Uint32Array([1])).to.be.Uint32Array();
expect(new Uint8ClampedArray([1])).to.be.Uint8ClampedArray();

ofSize

斷言 actual 的大小等於 expected

expect([1, 2, 3]).to.be.ofSize(3);
expect([1, 2, 3]).not.to.be.ofSize(5);

equalTo

斷言 actual 等於 expected

expect([1, 2, 3]).to.be.equalTo([1, 2, 3]);
expect([1, 2, 3]).not.to.be.equalTo([1, 2, 5]);

containing

斷言 actual 包含 expected 元素。

expect([1, 2, 3]).to.be.containing(1);
expect([1, 2, 3]).not.to.be.containing(5);

containingAllOf

斷言 actual 包含所有 expected 的元素。

expect([1, 2, 3]).to.be.containingAllOf([1]);
expect([1, 2, 3]).to.be.containingAllOf([1, 3]);
expect([1, 2, 3]).to.be.containingAllOf([1, 2, 3]);

containingAnyOf

斷言 actual 包含任何 expected 的元素。

expect([1, 2, 3]).to.be.containingAnyOf([1]);
expect([1, 2, 3]).to.be.containingAnyOf([6, 7, 3, 5]);
expect([1, 2, 3]).to.be.containingAnyOf([1, 2, 3]);

sorted

斷言 actual 陣列已排序。

expect([1, 2, 3]).to.be.sorted();
expect([1, 2, 4, 3]).not.to.be.sorted();

expect([3, 2, 1]).to.be.sorted((prev, next) => prev < next); // sorting based on the provided function

授權條款

Copyright 2020 @ GaneshSPatil

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.