chai-by-proxy
入门
$ npm install --save-dev chai-by-proxy
node < 6
$ npm install --save-dev harmony-reflect
$ echo "--harmony_proxies" >> test/mocha.opts
$ echo "--require harmony-reflect" >> test/mocha.opts
node 0.10
$ echo "--harmony_collections" >> test/mocha.opts
用法
var chai = require('chai')
chai.use(require('chai-by-proxy'))
have/has
(开始一个链)
obj = { foo: { bar: 'baz' } })
obj.should.have.foo.bar.eq('baz')
// same as
obj.should.have.property('foo').property('bar').eq('baz')
chai
的属性在你的对象之前
obj = { a: { property: '' } }
// you can't do
obj.should.have.a.property
// instead, fallback to old style
obj.should.have.deep.property('a.property')
and
(回到最后一个 have/has)
obj = { foo: { bar: '' },
baz: { qux: 11 } }
obj.should.have.foo.bar.with.a('string')
.and.baz.qux.eq(11)
without
(否定)
obj = { foo: {} }
obj.should.have.foo.without.bar
=
(等于)
obj = { foo: { bar: 'baz' } }
obj.should.have.foo.bar= 'baz'
not=
(不等于)
obj = { foo: { bar: 'baz' } }
obj.should.have.foo.bar.not= 'qux'
长寿的链
response =
status: 200
body:
data:
count: 1
items: [
{ name: 'party pooper' }
]
response.should.have.status.which.eq(200)
.and.body.without.error
.and.body.data.has.count.above(0)
.and.items[0].name= 'party pooper'