无法与猫鼬和mockgoose连接

时间:2015-07-01 12:59:13

标签: javascript node.js mongodb mongoose

我尝试将mockgoose(2.0.3)与mongoose(4.0.2)一起使用,这样我就可以在没有mongo服务器的情况下运行我的单元测试。

据我所知,我正确使用它

import mockgoose from "mockgoose";
import mongoose from "mongoose";

let mongooseMock = mockgoose(mongoose);

然后我将mongoose实例传递给调用模式的模块

但是当我进行测试时,我得到了

{ [MongoError: mock: connect failed] name: 'MongoError', code: 13328 }

我完全不知道为什么,它应该只是开箱即用。

2 个答案:

答案 0 :(得分:3)

我刚遇到同样的问题。您必须在mongoose#connect(url)之后但在运行任何测试之前致电mockgoose(mongoose)

更具体地说,我创建了一个新模块

var mockgoose = require("mockgoose");
var mongoose = require("mongoose");

mockgoose(mongoose);

mongoose.connect("mongodb://localhost/test");

module.exports = mockgoose;

require它位于每个使用mockgoose的测试文件的顶部。我没有尝试使用es6语法,但我认为无论您使用的是connect还是require,主要问题仍然是调用import

答案 1 :(得分:1)

事实证明这与mockgoose的版本有关。当我应该使用最新的官方版本时,我正在使用最新的实验版5.0.0-rc.5