78 lines
1.5 KiB
Markdown
78 lines
1.5 KiB
Markdown
title: Chai
|
|
---
|
|
|
|
|
|
### Assert
|
|
|
|
assert(val)
|
|
assert.fail(actual, expected)
|
|
assert.ok(val) // is truthy
|
|
assert.equal(actual, expected) // 'compare with =='
|
|
assert.strictEqual
|
|
assert.deepEqual
|
|
|
|
assert.isTrue
|
|
assert.isFalse
|
|
|
|
assert.isNull
|
|
assert.isNotNull
|
|
assert.isUndefined
|
|
assert.isDefined
|
|
assert.isFunction
|
|
assert.isObject
|
|
assert.isArray
|
|
assert.isString
|
|
assert.isNumber
|
|
assert.isBoolean
|
|
|
|
assert.typeOf(/tea/, 'regexp') // Object.prototype.toString()
|
|
assert.instanceOf(chai, Tea)
|
|
assert.include([ a,b,c ], a)
|
|
assert.match(val, /regexp/)
|
|
assert.property(obj, 'tea') // 'tea' in object
|
|
assert.deepProperty(obj, 'tea.green')
|
|
assert.propertyVal(person, 'name', 'John')
|
|
assert.deepPropertyVal(post, 'author.name', 'John')
|
|
|
|
assert.lengthOf(object, 3)
|
|
assert.throws(function() { ... })
|
|
assert.throws(function() { ... }, /reference error/)
|
|
assert.doesNotThrow
|
|
|
|
assert.operator(1, '<', 2)
|
|
assert.closeTo(actual, expected)
|
|
|
|
### Should: chains
|
|
|
|
.to .be .been .is .that .and .have .with .at .of .same
|
|
|
|
### Should not
|
|
|
|
expect(object).not.equal('x')
|
|
|
|
### Expectations
|
|
|
|
.equal(expected)
|
|
.eql // deepequal
|
|
.deep.equal(expected)
|
|
.be.a('string')
|
|
.include(val)
|
|
.be.ok(val)
|
|
.be.true
|
|
.be.false
|
|
.be.null
|
|
.be.undefined
|
|
.exist
|
|
.be.empty
|
|
.be.arguments
|
|
expect(10).above(5)
|
|
|
|
|
|
### References
|
|
|
|
* http://chaijs.com/api/assert/
|
|
|
|
|
|
|
|
|