2013-10-10 5 views
12

कर्म/जैस्मीन का उपयोग करके एक कोणीय अनुप्रयोग के लिए यूनिट टेस्ट सूट सेट करते समय, क्या यह परीक्षण की फ़ाइलों में ऐप मॉड्यूल के config फ़ंक्शन के साथ जेएस को शामिल करने की अनुशंसा की जाती है?इकाई परीक्षण करते समय कोणीय मॉड्यूल के कॉन्फ़िगरेशन फ़ंक्शन से कैसे निपटें?

मैंने पढ़ा है कि इसे परीक्षण से बाहर करने का सुझाव दिया गया है, हालांकि यह अजीब लगता है क्योंकि config फ़ंक्शन में अक्सर महत्वपूर्ण सेटअप होता है जो एप्लिकेशन को काम करने से रोक देगा।

इसके आसपास सबसे अच्छा अभ्यास क्या है? एक नकली कॉन्फ़िगरेशन फ़ंक्शन बनाएं जो 'मॉक' तरीके से वही काम करता है?

मैं इस समस्या का सामना करते अपने आप चल रहा हूँ, लेकिन व्यापक रणनीति को समझना चाहते हैं:

सभी के साथ एक "appBase" मॉड्यूल को परिभाषित करें: How do unit test with angular-translate

+0

इस पर कोई अपडेट? – jintoppy

उत्तर

3

अपने आवेदन में, मैं निम्नलिखित समाधान का उपयोग कर समाप्त हो गया config और run फ़ंक्शंस जिन्हें मैं यूनिट-परीक्षण करते समय चलाने के लिए और एक और "ऐप" मॉड्यूल बना सकता हूं जो "ऐपबेस" मॉड्यूल को निर्भरता के रूप में घोषित करता है और इसमें सभी config और run फ़ंक्शंस शामिल हैं जो यूनिट-परीक्षण करते समय नहीं चलते हैं । फिर मेरे सभी यूनिट परीक्षण "ऐपबेस" मॉड्यूल का उपयोग करते हैं, जबकि अंतिम एप्लिकेशन "ऐप" मॉड्यूल का उपयोग करता है। कोड में:

angular.module('appBase', ['dependencies']) 
     .config(function() { 
      // This one will run when unit-testing. Can also set-up mock data 
      // that will later be overridden by the "app" module 
     }); 

angular.module('app', ['appBase']) 
     .config(function() { 
      // This function will only run in real app, not in unit-tests. 
     }); 
+0

क्या इसका मतलब यह नहीं होगा कि आपने 'एप' मॉड्यूल पर परिभाषित किसी भी नियंत्रक, निर्देश आदि को अचूक कर दिया होगा? क्या आप अपने सभी घटकों के लिए अन्य मॉड्यूल का उपयोग करते हैं और फिर उन्हें 'ऐपबेस' पर निर्भरता के रूप में घोषित करते हैं? – cfs

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