Appearance
mocha异步测试
在 nodejs 中有非常多的异步逻辑,这些异步逻辑该如何测试呢?
javascript
var fs = require('fs');
var should = require('should');
describe('fs', function() {
describe('#readFile()', function() {
it('should not be null', function(done) {
fs.readFile('./package.json', 'utf8', function(err,res){
if (err) throw err;
res.should.not.equal(null);
done();
});
});
});
});
关键在于 done 实参,必须在执行完异步后(在异步回调中)执行下 done(),就能捕获到用例。
回调函数 done() 支持接收一个错误:done(err),用于简化错误处理。