9

NodeJS で記述されたアプリケーションと MongoDB の統合テストを作成しています。

CIサーバーでは、パフォーマンスを高速化し、制御を容易にするために、ある種の組み込みMongoDBが必要です。現在、他のサーバーに MongoDB がありますが、テストが遅いです。各テストの前に、すべてのコレクションを削除する必要があります。ORMとしてマングースを使用しています。

これまでのところ、埋め込まれた MongoDB for Java しか見つかりませんでした。

4

3 に答える 3

0

私たちのチームは、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(){} }; } });
于 2013-06-27T13:27:29.033 に答える