私たちのチームは、mongoスキンコールをスタブしています。あなたのテストパッケージに応じて、同じことをすることができます。それは少し仕事がかかりますが、それはそれだけの価値があります。スタブ関数を作成し、テストで必要なものを宣言するだけです。原則を「あなたが所有していないタイプのためにテストダブルを使用しない」に続き
// Object based stubbing
function createObjStub(obj) {
return {
getDb: function() {
return {
collection: function() {
var coll = {};
for (var name in obj) {
var func = obj[name];
if (typeof func === 'object') {
coll = func;
} else {
coll[name] = func;
}
}
return coll;
}
};
}
}
};
// Stubbed mongodb call
var moduleSvc = new ModulesService(createObjStub({
findById: function(query, options, cb) {
return cb({
'name': 'test'
}, null);
//return cb(null, null);
}
}),{getProperties: function(){return{get: function(){} }; } });
あなたのCIサーバに専用のMongoDBインスタンスを設定することができます。 –