javascript - 无法连接 mongoose 和 mockgoose

标签 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 }

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

最佳答案

我刚遇到同样的问题。您必须在 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/

相关文章:

javascript - 带有 Twitter Bootstrap 的下拉菜单

sql - seriate RequestError : SqlContext Error. 在步骤 "GetData"上失败:“超时:请求未能在 15000 毫秒内完成

node.js - 如何修复未处理的拒绝 SequelizeConnectionError : No Database selected

javascript - AngularJS : $scope. $监视一个对象并仅返回其更改的属性

javascript - ${...} 语法在 Angular 中意味着什么?大括号前面的货币符号?

javascript - Node 中的 Highcharts

java - 在 Vert.x 3 这样的非阻塞 I/O 环境中使用吗啡的正确方法

javascript - PassportJS 没有将注册数据传递到数据库,可能是数据库连接问题

java - 使用 Spring Data 和 MongoDB 解析子文档类型

javascript - React useReducer 不更新状态