详解Chai.js断言库API中文文档(2)
.include(value) / contains(value)
value:Object | String | Number
include()和contains()即可作为属性类断言前缀语言链又可作为作为判断数组、字符串是否包含某值的断言使用。当作为语言链使用时,常用于key()断言之前
expect([1, 2, 3]).to.include(2) expect('foobar').to.include('bar') expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo')
.ok
断言目标为真值。
expect('everything').to.be.ok expect(1).to.be.ok expect(false).to.not.be.ok expect(null).to.not.be.ok
.true
断言目标为true,注意,这里与ok的区别是不进行类型转换,只能为true才能通过断言
expect(true).to.be.true expect(1)to.not.be.true
.false
断言目标为false
expect(false).to.be.false expect(0).to.not.be.false
.null
断言目标为null
expect(null).to.be.null expect(undefined).to.not.be.null
.undefined
断言目标为undefined。
expect(undefine).to.be.undefined expect(null).to.not.be.undefined
.NaN
断言目标为非数字NaN
expect('foo').to.be.null expect(4)to.not.be.null
.exist
断言目标存在,即非null也非undefined
var foo = 'hi', bar = null, baz expect(foo).to.exist expect(bar).to.not.exist expect(baz).to.not.exist
.empty
断言目标的长度为0。对于数组和字符串,它检查length属性,对于对象,它检查可枚举属性的数量
expect([]).to.be.empty expect('').to.be.empty expect({}).to.be.empty
.arguments
断言目标是一个参数对象arguments
function test () { expect(arguments).to.be.arguments }
.equal(value)
value:Mixed
断言目标严格等于(===)value。另外,如果设置了deep标记,则断言目标深度等于value
expect('hello').to.equal('hello') expect(42).to.equal(42) expect(1).to.not.equal(true) expect({ foo: 'bar'}).to.not.equal({ foo: 'bar'}) expect({ foo: 'bar'}).to.deep.equal({foo: 'bar'})
.eql(value)
value:Mixed
断言目标深度等于value,相当于deep.equal(value)的简写
expect({ foo: 'bar' }).to.eql({ foo: 'bar' }) expect([1, 2, 3]).to.eql([1, 2, 3])
内容版权声明:除非注明,否则皆为本站原创文章。