我已經採取How do I get an asynchronous result back with node unit and mongoose?和非常輕微修改它更簡單,以顯示我的失敗。多個任務失敗
變種貓鼬=要求( '貓鼬');
var db;
module.exports = {
setUp: function(callback) {
try {
//db.connection.on('open', function() {
mongoose.connection.on('open', function() {
console.log('Opened connection');
callback();
});
db = mongoose.connect('mongodb://localhost/test_1');
console.log('Started connection, waiting for it to open');
} catch (err) {
console.log('Setting up failed:', err.message);
test.done();
callback(err);
}
},
tearDown: function(callback) {
console.log('In tearDown');
try {
console.log('Closing connection');
db.disconnect();
callback();
} catch (err) {
console.log('Tearing down failed:', err.message);
test.done();
callback(err);
}
},
test1: function(test) {
test.ifError(null);
test.done();
},
test2: function(test) {
test.ifError(null);
test.done();
}
};
當nodeunit運行此我得到如下:
stam2_test.js
Started connection, waiting for it to open
Opened connection
In tearDown
Closing connection
✔ test1
Started connection, waiting for it to open
Opened connection
FAILURES: Undone tests (or their setups/teardowns):
- test2
To fix this, make sure all tests call test.done()
一些更多的信息: 如果在安裝/拆卸我不蒙戈用戶,但只是一個測試代碼,例如增加計數器,它一切正常。 如果我只有一個測試,一切正常。 添加另一個測試,並在設置mongo一致失敗,所以我想我在做的設置錯了。
預先感謝您。