详解Chai.js断言库API中文文档(3)
.above(value)
value: Number
断言目标大于(超过)value
expect(10).to.be.above(5)
也可接在length后来断言一个最小的长度。相比直接提供长度的好处是提供了更详细的错误消息
expect('foo').to.have.length.above(2) expect([1, 2, 3]).to.have.length.above(2)
.least(value)
value: Number
断言目标不小于(大于或等于)value
expect(10).to.be.at.least(10)
也可接在length后来断言一个最小的长度。相比直接提供长度的好处是提供了更详细的错误消息
expect('foo').to.have.length.of.at.least(3) expect([1, 2, 3]).to.have.length.of.at.least(3)
.below(value)
value:Number
断言目标小于value
expect(5).to.be.below(10)
也可接在length后来断言一个最大的长度。相比直接提供长度的好处是提供了更详细的错误消息
expect('foo').to.have.length.below(4) expect([1, 2, 3]).to.have.length.below(4)
.most(value)
value:String
断言目标不大于(小于或等于)value
expect(5).to.be.at.most(5)
也可接在length后来断言一个最大的长度。相比直接提供长度的好处是提供了更详细的错误消息
expect('foo').to.have.length.of.at.most(4) expect([1, 2, 3]).to.have.length.of.at.most(3)
.within(start, finish)
start:Number,下限
finish:Number,上限
断言目标在某个区间内
expect(7).to.be.within(5, 10)
也可接在length后来断言一个长度区间。相比直接提供长度的好处是提供了更详细的错误消息
expect('foo').to.have.length.within(2, 4) expect([1, 2, 3]).to.have.length.within(2, 4)
.instanceof(constructor)
constructor:Constructor,构造函数
断言目标是构造函数constructor的一个实例
var Tea = function (name) { this.name = name }, Chai = new Tea('chai') expect(Chai).to.be.an.instanceof(Tea) expect([1, 2, 3]).to.be.an.instanceof(Array)
.property(name, [value])
name:String,属性名
value:Mixed,可选,属性值
断言目标是否拥有某个名为name的属性,可选地如果提供了value则该属性值还需要严格等于(===)value。如果设置了deep标记,则可以使用点.和中括号[]来指向对象和数组中的深层属性