Appearance
should断言库
node 内置的断言库 assert ,功能比较弱,不太好用,推荐使用 should ,详细api可以看 should.js。
should 的断言方法注入到 Object.prototype 中,所以断言的风格更符合用户思维习惯,也支持链式调用,跟 jQuery 有点像:
javascript
var should = require("should");
describe('Should test', function() {
it('number', function() {
(123).should.be.a.Number;
});
it('object property', function() {
var obj = {name:'minghe',email:"[email protected]"};
obj.should.have.property('name','minghe');
obj.should.have.property('email');
});
});
(123).should.be.a.Number 判断 123 是否是一个数字,适用于其他类型的判断。
obj.should.have.property('name','minghe') obj 对象是否包含属性 name ,且 name = 'minghe' 。
常用的 api
使用 ok 判断值是否为 true:
javascript
it('ok',function(){
(true).should.be.ok;
})
使用 equal 判断一个值是否符合预期:
javascript
it('equal',function(){
'abc'.should.equal('abc');
});
使用 not 取反:
javascript
it('not equal',function(){
'abc'.should.not.equal('ddd');
});
判断值是否存在:
javascript
it('exist',function(){
var result = {};
should.exist(result);
})
更多的 api 请看 文档。