नोड द्वारा प्रदान की जाने वाली सर्वोत्तम परीक्षण कार्यक्षमता प्राप्त करने के लिए इन श्रेणी में सर्वश्रेष्ठ पैकेज देखें।

परीक्षण किसी भी सॉफ्टवेयर विकास प्रक्रिया का एक महत्वपूर्ण हिस्सा है क्योंकि यह आपके कोड को शिप करने से पहले मुद्दों और सुरक्षा कमजोरियों की पहचान करता है।

Node.js पारिस्थितिकी तंत्र आपके अनुप्रयोगों की विश्वसनीयता, गुणवत्ता और प्रदर्शन सुनिश्चित करने में आपकी मदद करने के लिए विभिन्न प्रकार के परीक्षण पैकेज प्रदान करता है। यहां आप Node.js पारिस्थितिकी तंत्र में शीर्ष चार परीक्षण पैकेजों का पता लगाएंगे।

जेस्ट एक परीक्षण ढांचा है जो जावास्क्रिप्ट कोडबेस के लिए उपयोग में आसान और व्यापक परीक्षण समाधान प्रदान करता है। मेटा द्वारा विकसित, जेस्ट समानांतर परीक्षण निष्पादन, कोड कवरेज, बिल्ट-इन जैसी सुविधाएँ प्रदान करता है दावे, मजाक और स्नैपशॉट परीक्षण के लिए मैचर्स, इसे एक शक्तिशाली और बहुमुखी परीक्षण बनाते हैं रूपरेखा।

आप नीचे दी गई कमांड चलाकर जेस्ट को स्थापित कर सकते हैं:

एनपीएम इंस्टॉल - सेव-देव जेस्ट

यहाँ एक उदाहरण प्रदर्शित किया गया है जेस्ट के साथ परीक्षण एक फ़ंक्शन के लिए जो जाँचता है कि क्या कोई संख्या विषम है:

instagram viewer
वर्णन करना("अजीब है", () => {
परीक्षा("विषम संख्या इनपुट के लिए सत्य लौटाता है", () => {
उम्मीद (isOdd (3))।होना(सत्य);
});

परीक्षा("एक सम संख्या के लिए झूठा लौटाता है", () => {
उम्मीद (isOdd (2))।होना(असत्य);
});

परीक्षा("गैर-पूर्णांक इनपुट के लिए एक त्रुटि फेंकता है", () => {
अपेक्षा करना(() => {
अजीब है(3.5);
})।फेंकना("इनपुट पूर्णांक नहीं है");
});

परीक्षा("गैर-संख्यात्मक इनपुट के लिए एक त्रुटि फेंकता है", () => {
अपेक्षा करना(() => {
अजीब है("3");
})।फेंकना("इनपुट एक संख्या नहीं है");
});
});

जब आप ऊपर परीक्षण सूट चलाते हैं, तो जेस्ट प्रत्येक व्यक्तिगत परीक्षण को निष्पादित करेगा और फ़ंक्शन के आउटपुट की तुलना अपेक्षित मान के साथ करेगा अपेक्षा करना समारोह और होना और फेंकना मिलानकर्ता। यदि आउटपुट अपेक्षित नहीं है, तो जेस्ट एक विफल परीक्षण की रिपोर्ट करता है और एक विस्तृत त्रुटि संदेश प्रदान करता है।

जेस्ट में नकली कार्य कार्यान्वयन के लिए अंतर्निहित समर्थन भी है। इसके अतिरिक्त, इसमें नियमित अपडेट और सुधार के साथ एक बड़ा सक्रिय समुदाय है।

मोचा एक जावास्क्रिप्ट परीक्षण ढांचा है जो जावास्क्रिप्ट अनुप्रयोगों के लिए परीक्षण लिखने के लिए एक लचीला और एक्स्टेंसिबल समाधान प्रदान करता है। यह परीक्षणों को परिभाषित करने के लिए एक सरल और न्यूनतर सिंटैक्स प्रदान करता है।

यह कई अभिकथन पुस्तकालयों का समर्थन करता है, जैसे कि Node.js' बिल्ट-इन ज़ोर मॉड्यूल, चाय, और should.js, दूसरों के बीच में। यदि आप अपने परीक्षण सेटअप में लचीलेपन को पसंद करते हैं, तो एकाधिक अभिकथन पुस्तकालयों के लिए यह समर्थन मोचा को आदर्श विकल्प बनाता है।

आप नीचे दिए गए आदेश को चलाकर मोचा स्थापित कर सकते हैं:

एनपीएम मोचा स्थापित करें

यहाँ मोचा और Node.js के साथ परीक्षण प्रदर्शित करने वाला एक उदाहरण दिया गया है ज़ोर एक फ़ंक्शन के लिए मॉड्यूल जो दो संख्याओं का योग लौटाता है:

कॉन्स्ट जोर देना = ज़रूरत होना('जोर');

वर्णन करना('नंबर जोड़ें', समारोह() {
यह('दो सकारात्मक संख्याएँ जोड़ें', समारोह() {
कॉन्स्ट परिणाम = जोड़ संख्या (3, 5);
Assert.strictEqual (परिणाम, 8);
});

यह('एक धनात्मक और एक ऋणात्मक संख्या जोड़ें', समारोह() {
कॉन्स्ट परिणाम = जोड़ संख्या (3, -5);
Assert.strictEqual (परिणाम, -2);
});
});

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

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

अवा एक जावास्क्रिप्ट परीक्षण ढांचा है जो प्रदर्शन और समवर्ती पर केंद्रित है। इसे समवर्ती रूप से परीक्षण चलाने के लिए डिज़ाइन किया गया है, जो तेज़ परीक्षण निष्पादन समय की अनुमति देता है। अवा एक बिल्ट-इन टेस्ट रनर और एसेर्शन लाइब्रेरी के साथ आता है, जो इसे जावास्क्रिप्ट अनुप्रयोगों के परीक्षण के लिए एक स्व-निहित समाधान बनाता है।

आप नीचे कमांड चलाकर अवा को स्थापित कर सकते हैं:

एनपीएम इंस्टॉल --सेव-देव ava

यहां एक फ़ंक्शन के लिए एवा के साथ परीक्षण प्रदर्शित करने वाला एक उदाहरण दिया गया है जो दो संख्याओं का योग लौटाता है:

आयात परीक्षा से'अवा';

परीक्षा('addNumbers दो धनात्मक संख्याएँ जोड़ता है', टी => {
कॉन्स्ट परिणाम = जोड़ संख्या (3, 5);
टीआईएस (परिणाम, 8);
});

परीक्षा('AddNumbers एक धनात्मक और एक ऋणात्मक संख्या जोड़ता है', टी => {
कॉन्स्ट परिणाम = जोड़ संख्या (3, -5);
टीआईएस (परिणाम, -2);
});

जब आप एवा का उपयोग करके इन परीक्षणों को चलाते हैं, तो यह प्रत्येक परीक्षण को निष्पादित करेगा और परिणामों को कंसोल पर रिपोर्ट करेगा। यदि सभी परीक्षण पास हो जाते हैं, तो एवा रिपोर्ट करेगी कि सभी परीक्षण पास हो गए हैं। यदि कोई परीक्षण विफल हो जाता है, तो एवा रिपोर्ट करेगा कि कौन से परीक्षण विफल हुए हैं और अपेक्षित और वास्तविक आउटपुट मानों के बारे में जानकारी प्रदान करते हैं।

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

जैस्मीन जावास्क्रिप्ट अनुप्रयोगों के लिए एक व्यवहार-संचालित विकास (बीडीडी) परीक्षण ढांचा है। यह परीक्षण लिखने के लिए एक स्वच्छ और अभिव्यंजक सिंटैक्स प्रदान करता है जो प्राकृतिक भाषा के समान है, जिससे तकनीकी और गैर-तकनीकी लोगों के लिए परीक्षण को समझना और लिखना आसान हो जाता है। जैस्मीन एक अंतर्निर्मित टेस्ट रनर और अभिकथन पुस्तकालय के साथ आता है, जो इसे जावास्क्रिप्ट अनुप्रयोगों के परीक्षण के लिए एक व्यापक समाधान बनाता है।

आप इस आदेश को चलाकर जैस्मीन स्थापित कर सकते हैं:

एनपीएम इंस्टॉल - सेव-देव जैस्मीन

फिर, आपको नीचे दी गई कमांड चलाकर जैस्मीन को अपनी वर्किंग डायरेक्टरी में इनिशियलाइज़ करना होगा:

चमेली init

ऊपर दिया गया आदेश a उत्पन्न करता है सहायता आपके फ़ोल्डर में कल्पना (टेस्ट) फ़ोल्डर। यह फ़ोल्डर रखता है चमेली.json फ़ाइल, जिसमें जैस्मीन के लिए कॉन्फ़िगरेशन सेटिंग शामिल है।

यहां जैस्मीन के साथ एक फ़ंक्शन के लिए परीक्षण प्रदर्शित करने वाला एक उदाहरण दिया गया है जो यह जांचता है कि कोई संख्या सम है या नहीं:

वर्णन करना('सम है', समारोह() {
यह('एक सम संख्या के लिए सही लौटें', समारोह() {
कॉन्स्ट परिणाम = बराबर है (4);
अपेक्षा (परिणाम) .टूबी (सत्य);
});

यह('विषम संख्या के लिए गलत वापसी', समारोह() {
कॉन्स्ट परिणाम = बराबर है (5);
अपेक्षा (परिणाम) .टूबी (असत्य);
});
});

जब आप जैस्मीन का उपयोग करके उपरोक्त परीक्षण चलाते हैं, तो जैस्मीन प्रत्येक परीक्षण निष्पादित करेगी और परिणामों को कंसोल पर रिपोर्ट करेगी। यदि सभी परीक्षण पास हो जाते हैं, तो जैस्मीन रिपोर्ट करेगी कि सभी परीक्षण पास हो गए हैं। यदि कोई परीक्षण विफल हो जाता है, तो जैस्मीन रिपोर्ट करेगा कि कौन से परीक्षण विफल हुए हैं और अपेक्षित और वास्तविक आउटपुट मानों के बारे में जानकारी प्रदान करते हैं।

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

एक परीक्षण ढांचा चुनना

Node.js परियोजना के लिए एक परीक्षण ढांचे का चयन करने के लिए कई कारकों पर सावधानीपूर्वक विचार करने की आवश्यकता होती है, परीक्षण दृष्टिकोण, उपयोग में आसानी, सामुदायिक समर्थन, अन्य उपकरणों के साथ एकीकरण, और सहित प्रदर्शन। लेकिन आखिरकार, चुनाव आपकी परियोजना पर निर्भर करता है, क्योंकि कुछ पैकेज दूसरों की तुलना में विशेष परियोजनाओं के लिए बेहतर होते हैं।