我正在尝试使用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 }我完全不知道为什么,它应该是开箱即用的。
发布于 2015-09-19 12:31:50
我刚刚遇到了同样的问题。您必须在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。
发布于 2015-11-06 00:37:47
事实证明,这与mockgoose版本有关。我使用的是最新的实验性构建5.0.0-rc.5,而我本应该使用最新的官方构建。
https://stackoverflow.com/questions/31162034
复制相似问题