2015-07-01 130 views
3

我試圖使用(2.0.3)和貓鼬(4.0.2),這樣我就可以運行我的單元測試而不需要mongo服務器。無法連接貓鼬和mockgoose

而據我可以告訴我正確地使用它

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

let mongooseMock = mockgoose(mongoose); 

然後我通過貓鼬比如在我的模塊,該模塊調用模式

但是當我運行我的測試,我得到

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

而我完全不知道爲什麼,它應該開箱即用。

+1

您是否嘗試過使用ES5語法? – kyrisu

回答

3

我剛碰到同樣的問題。您必須在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語法嘗試過,但我認爲主要問題仍然是調用connect,無論您使用require還是import

1

事實證明這是與mockgoose的版本。當我應該使用最新的官方版本時,我正在使用最新的實驗版本5.0.0-rc.5