摩卡的beforeEach()和done()函数不起作用

时间:2013-12-18 19:40:47

标签: javascript node.js express mocha

我有一个用mocha编写的非常简单的测试套件。 疯狂的是当我'进行测试'时,我得到以下错误:

Uncaught TypeError: Object [object Object],[object Object] has no method 'done'

以下是代码:

describe('Lists Endpoint (/lists)', function(){

    beforeEach(function(done){
        db.collection('lists').remove(function(err){
            db.collection('lists').insert([{name: 'LPS list', desc: 'Nice list!'}, {name: 'TLB list', desc: 'Cool listo!'}], function(err, records){
                done(); //Throws TypeError
            });            
        });        
    });


    describe('GET /lists', function(){
        it('should return an array of lists', function(done){
            request(app).get('/lists').end(function(err, res){
                res.should.have.status(200);
                res.should.be.json;
                res.body.should.be.an.Array;
                res.body.length.should.eql(2);
                res.body.
                done();
            });
        });
    });
});

1 个答案:

答案 0 :(得分:0)

我将提取这一行:

res.body.
    done();

其中包含res.body.done();done对象上没有res.body方法。