Skip to content
On this page

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),用于简化错误处理。