NodeJS で記述されたアプリケーションと MongoDB の統合テストを作成しています。
CIサーバーでは、パフォーマンスを高速化し、制御を容易にするために、ある種の組み込みMongoDBが必要です。現在、他のサーバーに MongoDB がありますが、テストが遅いです。各テストの前に、すべてのコレクションを削除する必要があります。ORMとしてマングースを使用しています。
これまでのところ、埋め込まれた MongoDB for Java しか見つかりませんでした。
NodeJS で記述されたアプリケーションと MongoDB の統合テストを作成しています。
CIサーバーでは、パフォーマンスを高速化し、制御を容易にするために、ある種の組み込みMongoDBが必要です。現在、他のサーバーに MongoDB がありますが、テストが遅いです。各テストの前に、すべてのコレクションを削除する必要があります。ORMとしてマングースを使用しています。
これまでのところ、埋め込まれた MongoDB for Java しか見つかりませんでした。
私たちのチームは、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(){} }; } });