2014-02-01 4 views
0

Я пытаюсь проверить мое соединение db с жасмином.Ошибка Mongoose, возвращаемая как неопределенная?

MongoClient - это объект и определяется. Однако err возвращает неопределенный, естественно, мой тест не удается. Может ли Mongoose просто вернуть неопределенное, если нет ошибки?

Есть ли другой способ проверить подключение?

describe("MongoDB", function() { 
it("is there a server running", function(next) { 
    var MongoClient = require('mongoose'); 
    MongoClient.connect('mongodb://127.0.0.1:27017/panther_dev', function(err) { 
     expect(err).toBe(null); 
     next() 
    }); 
}); 
}); 

Спасибо

+0

Ваш код не Mongoose code ... это родной драйвер. – WiredPrairie

ответ

0

Другой способ, чтобы проверить ваше соединение использовать Connection#readyState. Она возвращает одно из четырех значений, которые являются:

  • 0 = отключенные

  • 1 = подключен

  • 2 = соединительные

  • 3 = отсоединением

Итак, в вашем примере, чтобы проверить соединение, ould выглядит примерно так:

it("is there a server running", function(next) { 
    var MongoClient = require('mongoose'); 
    MongoClient.connect('mongodb://127.0.0.1:27017/panther_dev', function(err) { 
     expect(MongoClient.readyState).toBe(1); 
     next(); 
    }); 
}); 
Смежные вопросы