使用Mocha测试的Mongoose MissingSchemaError

时间:2013-08-11 09:51:20

标签: node.js unit-testing mongoose mocha

我正在尝试使用mocha来测试我的API,但每当我在使用Uncaught MissingSchemaError: Schema hasn't been registered for model "Kitchen". Use mongoose.model(name, schema)的模型上调用方法时,它都会失败populate(field)

最小例子:https://gist.github.com/connors511/6204164(transaction.js是罪犯)

我也尝试将该方法用作schema.statics,但它返回与示例相同的结果。

如果我从populate('where.kitchen')方法移除_listForUserClub,则会失败,而不是MissingSchema俱乐部。

知道造成这种情况的原因,或者如何修复它?

1 个答案:

答案 0 :(得分:0)

我已经使用

解决了这个问题
var _model;
try {
    _model = mongoose.model('ClubTest', _schema);
    _model.singular = 'clubtest';
} catch(e) {
    _model = mongoose.model('ClubTest');
}

而不是

var _model = mongoose.model('ClubTest', _schema);
_model.singular = 'clubtest';
https://groups.google.com/d/msg/mongoose-orm/PXTjqqpaDFk/tYx1ge04GlsJ

找到解决方法后,找到所有模型的