我正在尝试使用 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 }
我完全不知道为什么,它应该开箱即用。
最佳答案
我刚遇到同样的问题。您必须在 mockgoose(mongoose)
之后但在运行任何测试之前调用 mongoose#connect(url)
。
更具体地说,我创建了一个新模块
var mockgoose = require("mockgoose");
var mongoose = require("mongoose");
mockgoose(mongoose);
mongoose.connect("mongodb://localhost/test");
module.exports = mockgoose;
和 require
它位于每个使用 mockgoose 的测试文件的顶部。我没有尝试使用 es6 语法,但我认为无论您使用 require
还是 import
,主要问题仍然是调用 connect
。
关于javascript - 无法连接 mongoose 和 mockgoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31162034/