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/
下的测试