npm Version License Build Status Code Climate devDependency Status peerDependency Status

Chai Sorted

Chai JS 插件用于测试数组是否包含排序的值(字符串、数字、布尔值)。在编写实现 Array.prototype.sort() 的功能的测试时非常有用。

安装

Node.js

通过 npm 安装

npm install chai-sorted

像使用其他 Chai 插件一样使用此插件

var chai = require("chai"),
    expect = chai.expect; // preference and tested with expect

chai.use(require("chai-sorted"));

在浏览器中

此仓库中没有计划支持浏览器构建,所以请考虑使用 Webpack 或类似工具。

如果您想要浏览器安装支持,请打开一个 issue。

API 使用

.sorted 方法

测试数组的升序排序

expect(["a","b"]).to.be.sorted()
// or
expect(["a","b"]).to.be.sorted({descending: false}) 

测试数组的降序排序

expect(["b","apples"]).to.be.sorted({descending: true})

.sortedBy 方法

允许按属性排序

测试按 name 属性对数组进行升序排序

expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.sortedBy("name")

测试按 name 属性对数组进行降序排序

expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.sortedBy("name", {descending: true})

.ascendingBy 方法

sortedBy 的替代方法,但更明确

测试按 name 属性对数组进行升序排序

expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.ascendingBy("name")

.descendingBy 方法

sortedBy 的替代方法,但不需要将 true 作为第二个参数传递给 sortedBy。它与执行 sortBy("name",true) 相同

测试按 name 属性对数组进行降序排序

expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.descendingBy("name")

ascending 属性

使用属性语法测试数组的升序排序

expect(["a","b"]).to.be.ascending

descending 属性

使用属性语法测试数组的降序排序

expect(["b","apples"]).to.be.descending

其他使用

有关其他使用或更多帮助,请参阅 ./test/ 下的测试