5

मैं मोंडोडीबी के साथ नोडजेएस में लिखे गए आवेदन के लिए एकीकरण परीक्षण लिख रहा हूं।नोडजेएस में एकीकरण परीक्षण के लिए मोंगो डीबी कैसे स्थापित करें?

सीआई सर्वर पर मैं तेजी से प्रदर्शन और आसान नियंत्रण के लिए कुछ प्रकार के एम्बेडेड मोंगोडीबी चाहता हूं। वर्तमान में मेरे पास अन्य सर्वर पर MongoDB है, लेकिन परीक्षण धीमे हैं। प्रत्येक परीक्षण से पहले मुझे सभी संग्रहों को छोड़ना होगा। मैं ओआरएम के रूप में mongoose का उपयोग कर रहा हूँ।

अभी तक मुझे केवल जावा के लिए एम्बेडेड MongoDB मिला है।

+0

आप अपने सीआई सर्वर पर एक समर्पित मोंगोडीबी उदाहरण स्थापित कर सकते हैं ... –

उत्तर

0

हमारी टीम मोंगो त्वचा कॉल को रोक रही है। आपके परीक्षण पैकेज के आधार पर आप वही काम कर सकते हैं। इसमें थोड़ा सा काम लगता है लेकिन यह इसके लायक है। एक स्टब फ़ंक्शन बनाएं और फिर केवल अपने परीक्षण में आपको जो चाहिए उसे घोषित करें।

// 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(){} }; } }); 
+0

यह एक तरीका है जिसे किया जा सकता है, लेकिन मैं सभी मोंगोडीबी चेक, बाधाओं और प्रक्रियाओं को काट दूंगा। यदि प्राथमिक कुंजी है जो अद्वितीय है, तो दूसरा लेखन त्रुटि वापस नहीं करेगा। यदि जानकारी की गलत बचत, गलत क्वेरी या गलत प्रारंभिकता है, तो मुझे यह नहीं दिखाई देगा। –

1

"प्रकार के लिए परीक्षण डबल्स का उपयोग नहीं करते आपकी नहीं है" सिद्धांत के बाद, अपने एकीकरण परीक्षण के लिए एक असली MongoDB उदाहरण का उपयोग जारी रखने पर विचार करें। विवरण के लिए this nice article पर देखें।

संबंधित मुद्दे