2012-08-29 22 views
5

मैं अपने node.js एप्लिकेशन का परीक्षण करने के लिए mocha का उपयोग कर रहा हूं।मेरी spec फ़ाइलों को व्यवस्थित करने के लिए कैसे?

मुझे पता है कि मेरी spec फ़ाइलें समय के साथ बड़ी और बड़ी हो रही हैं। परीक्षण फाइलों को व्यवस्थित करने के लिए कोई पैटर्न है (उदा। प्रति टेस्ट एक चश्मा फ़ाइल)? या परीक्षणों की संरचना में मेरी मदद करने के लिए मोचा के शीर्ष पर अन्य ढांचे हैं? या आप उस कारण से अन्य परीक्षण ढांचे को प्राथमिकता देते हैं?

उत्तर

1

बड़े परीक्षण/spec फ़ाइलों का मतलब है कि परीक्षण के तहत कोड बहुत अधिक कर सकता है। यह हमेशा मामला नहीं है, हालांकि अक्सर आपका टेस्ट कोड परीक्षण के तहत कोड का वजन कम करेगा, लेकिन यदि आप उन्हें प्रबंधित करने के लिए कठिन पाते हैं तो यह एक संकेत हो सकता है।

मैं कार्यक्षमता के आधार पर परीक्षण समूह करता हूं। कल्पना करें कि हमारे पास example.js है, तो मुझे example.tests.js से शुरू होने की उम्मीद होगी।

ExampleSpec नामक एक स्पेस के बजाय मेरे पास विभिन्न संदर्भों के आधार पर कई चश्मे/परीक्षण होते हैं। उदाहरण के लिए मेरे पास EmptyExample, ErrorExample, और DefaultExample हो सकते हैं जिनमें अलग-अलग पूर्व-कंडिशन हैं। यदि ये बहुत बड़े हो जाते हैं, तो आप या तो अव्यवस्था खो रहे हैं, या फिर फाइलों को विभाजित करने के बारे में सोचना चाहिए। तो अगर आप इस तरह के रूप में एक निर्देशिका संरचना लग सकती है:

 
    specs/ 
     Example/ 
      EmptyExample.js 
      ErrorExample.js 
      DefaultExample.js 

शुरू करने के लिए के साथ हालांकि, उत्पादन फ़ाइल प्रति एक परीक्षा/कल्पना फ़ाइल प्रारंभिक बिंदु होना चाहिए। आवश्यकता होने पर केवल अलग करें।

+0

तो मैं इसे कैसे चला सकता हूं? मैं 'mocha testAll.js' करना चाहता हूं। testAll.js में सभी उप परीक्षण शामिल होंगे। मुझे यह कैसे हासिल होगा? –

+0

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

+0

@ निकोलस एस.एक्सू वास्तव में देर से उत्तर दे रहा है लेकिन आपके सभी चश्मे (सामान्य) मॉड्यूल हो सकते हैं जो आपको एक उपफोल्डर-स्तर 'index.js' में आवश्यक है जो वास्तव में आपके चश्मा को आमंत्रित करता है। यह एनपीएम स्क्रिप्ट के साथ संयोजन के रूप में महान काम करता है। –

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

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