ошибка мокко мангуста

Я получаю следующую ошибку в своих тестах мокко, когда мангуст пытается подключиться к mongodb:

Error: Trying to open unclosed connection.

Вот мой тест:

var cfg = require('../config')
, mongoose = require('mongoose')
, db = mongoose.connect(cfg.mongo.uri, cfg.mongo.db)
, User = require('../models/user')
, Item = require('../models/item')
, should = require('should')
, fakeUser
, fakeItem;

mongoose.connection.on('error', function(err){
    console.log(err);
});

describe('User', function(){
    beforeEach(function(done){
        //clear out db
        User.remove(done);

    });

    after(function(done){
        //clear out db
        User.remove(function(err){
            Item.remove(done);
        });
    });

});

person chovy    schedule 15.12.2012    source источник


Ответы (1)


Закройте соединение, когда закончите:

after(function(done){
    //clear out db
    User.remove(function(err){
        Item.remove(function() {
            mongoose.connection.close();
            done();
        });        
    });
});
person glortho    schedule 16.12.2012
comment
Я думаю, что это обычно работает, но у меня есть больше тестов, чем этот, поэтому я не знаю, куда поместить .after(). - person chovy; 16.12.2012
comment
Оберните все тесты в блок describe(), в котором нет тестов, только блок after() (и остальные блоки describe()), внутри которого вы поместите вызов close(). - person glortho; 16.12.2012