jasmine framework tutorial including jasmine jquery with examples
इस अनुच्छेद में जैस्मीन टेस्टिंग फ्रेमवर्क और इसके निर्माण शामिल हैं। इसके अलावा, जैस्मीन-जेकरी पैकेज के बारे में जानें
हमने सब सीखा कर्मा इस श्रृंखला में हमारे पिछले ट्यूटोरियल में।
इस ट्यूटोरियल में, हम सीखेंगे कि जावास्क्रिप्ट वेब एप्लिकेशन के लिए परीक्षण लिखने के लिए जैस्मीन का उपयोग कैसे करें और यह भी जान लें कि Jquery वेब एप्लिकेशन का परीक्षण करने के लिए नोड-आधारित पैकेज जैस्मीन-जेकरी का उपयोग कैसे करें।
यहाँ हम मुख्य रूप से परीक्षण लिखने के लिए बुनियादी जैस्मीन निर्माण पर ध्यान केंद्रित करेंगे।
किसी भी वेबसाइट से वीडियो डाउनलोड करने का कार्यक्रम
चलो शुरू करते हैं!!
आप क्या सीखेंगे:
टेस्टिंग फ्रेमवर्क क्या हैं?
परीक्षण फ्रेमवर्क उन कार्यक्रमों या पैकेजों के सूट होते हैं जो इसकी गुणवत्ता सुनिश्चित करने के लिए किसी अन्य कार्यक्रम का परीक्षण करने की सुविधा प्रदान करते हैं। हर प्रोग्रामिंग प्लेटफ़ॉर्म का अपना परीक्षण ढांचा होता है जैसा कि आपने हमारे पिछले ट्यूटोरियल से सीखा होगा।
परीक्षणों के विभिन्न सेट हैं जो किसी भी सॉफ्टवेयर सिस्टम पर किए जा सकते हैं। उदाहरण इस तरह के परीक्षणों में यूनिट टेस्टिंग, एंड टू एंड (e2e) टेस्टिंग आदि शामिल हैं यहां अधिक जानकारी के लिए।
उदाहरण जावास्क्रिप्ट अनुप्रयोगों के लिए टेस्टिंग फ्रेमवर्क में मोचा, जैस्मीन, इंटर्न, जेस्ट, क्यूनिट आदि शामिल हैं।
जैस्मीन फ्रेमवर्क का परिचय
वर्तमान परिदृश्य में विभिन्न विकास दृष्टिकोण उपलब्ध हैं। इनमें से दो सबसे लोकप्रिय विकास दृष्टिकोणों में टेस्ट-ड्रिवेन डेवलपमेंट (टीडीडी) और बिहेवियर ड्रिवेन डेवलपमेंट (BDD) शामिल हैं।
टेस्ट-ड्रिवेन डेवलपमेंट एक ऐसा विकास दृष्टिकोण है जहाँ हम पहले परीक्षण लिखते हैं, और फिर उन्हें चलाते हैं। प्रत्येक परीक्षण अपने पहले ही निष्पादन पर विफल हो जाता है क्योंकि इसके द्वारा उपयोग किए जाने वाले कार्य अभी तक नहीं लिखे गए हैं।
हम फिर कार्यों को लिखते हैं और परीक्षणों को फिर से चलाते हैं। यहां, कुछ परीक्षण विफल हो जाते हैं और अन्य पास हो जाते हैं। हम सभी परीक्षणों को पास करने के लिए कोड को रिफलैक्ट करते रहते हैं।
व्यवहार प्रेरित विकास भी उसी दृष्टिकोण का अनुसरण करता है। अंतर केवल इतना है कि BDD को सॉफ्टवेयर (ग्राहक / व्यवसाय-उन्मुख) के मालिकों को संतुष्ट करने के लिए लिखा जाता है यानी व्यवसाय की आवश्यकताओं या अपेक्षित व्यवहार के साथ सॉफ़्टवेयर सुविधाओं को पूरा करने के लिए।
जबकि TDD को सॉफ़्टवेयर के डेवलपर्स को संतुष्ट करने के लिए लिखा गया है ताकि यह सुनिश्चित किया जा सके कि सुविधाओं के निर्माण में उपयोग किए जाने वाले सॉफ़्टवेयर फ़ंक्शन सटीक परिणाम, स्थिर और विश्वसनीय उत्पादन कर रहे हैं।
ले देख यहां TDD बनाम BDD के बारे में अधिक जानने के लिए।
जैस्मीन एक जावास्क्रिप्ट परीक्षण ढांचा है जो व्यवहार चालित है, जो लेखन परीक्षणों को आसान बनाता है, और किसी अन्य ढांचे पर निर्भर नहीं करता है।
अपने परीक्षण लिखने के लिए जैस्मीन का उपयोग करने के दो तरीके हैं। एक तरीका स्टैंडअलोन संस्करण का उपयोग करना है जो कि specRunner.html (जो एक ब्राउज़र में परीक्षा परिणाम प्रदर्शित करता है) के साथ आता है। दूसरा तरीका बस जैस्मीन को स्थापित करना है, अपने परीक्षण लिखें और कंसोल विंडो में प्रदर्शित परिणामों को प्राप्त करने के लिए कर्मा जैसे परीक्षण-धावक के साथ इसे चलाएं।
हम अपने आगामी ट्यूटोरियल में जैस्मीन के उपयोग के दोनों तरीकों को देख रहे होंगे।
बुनियादी चमेली लेखन टेस्ट के लिए निर्माण करता है
नीचे लिखित परीक्षा के लिए जैस्मीन के विभिन्न निर्माण हैं।
चलो देखते हैं!!
# 1) का वर्णन करता है: इस निर्माण का उपयोग परीक्षण सूट लिखने के लिए किया जाता है। एक परीक्षण सूट कई परीक्षणों का एक संग्रह है। 'वर्णन' अपने आप में एक ऐसा कार्य है जो दो मापदंडों को लेता है: सुइट और एक समारोह का नाम ।
फ़ंक्शन पैरामीटर में परीक्षण सूट के तहत समूहीकृत परीक्षणों का एक संग्रह होता है।
# 2) यह: इस निर्माण का उपयोग परीक्षण युक्ति लिखने के लिए किया जाता है। एक परीक्षण युक्ति उन निर्माणों का एक समूह है जो किसी सिस्टम के लिए किसी विशेष या सबसे अधिक मिनट की अपेक्षा का परीक्षण कर रहे हैं।
c ++ प्रश्न और उत्तर
वर्णन के निर्माण की तरह, यह भी दो मापदंडों लेता है: परीक्षण का नाम और फ़ंक्शन जिसमें मूल्यांकन का मूल्यांकन होता है कि क्या उम्मीद पूरी हुई है या नहीं।
# 3) उम्मीद करते हैं : यह परीक्षण में एड्स का निर्माण करता है यदि सॉफ्टवेयर सिस्टम से अपेक्षाएं पूरी होती हैं या नहीं।
यह वास्तविक नामक एक पैरामीटर लेता है (जो कि सॉफ्टवेयर सिस्टम वापस आ रहा है) और फिर इसे एक अन्य निर्माण से मिलान किया जाता है जिसे एक मिलानकर्ता (अपेक्षित परिणाम) कहा जाता है।
# 4) मेल खाता है : यह उन निर्माणों का एक संग्रह है, जिनके निर्माण की उम्मीद की जाती है। यह निर्धारित करता है कि उम्मीद पूरी हुई या नहीं।
ये निर्माण किए जा रहे निकटतम परीक्षण का अपेक्षित मान लेते हैं और परीक्षण को निष्पादित करने पर प्राप्त वास्तविक मूल्य के मुकाबले इसे मिलाते हैं। क्लिक यहां जैस्मीन माचिस निर्माण की पूरी सूची के लिए
# 5) पहले : यह एक वैश्विक निर्माण है, जो जैस्मीन द्वारा आपको अपने परीक्षण DRY (खुद को दोहराए नहीं) रखने में मदद करने के लिए प्रदान किया गया है। यह निर्माण सामान्य रूप से वर्णन निर्माण के फ़ंक्शन पैरामीटर में उपयोग किया जाता है।
सूट के नीचे चश्मा चलने से पहले एक बार अंदर कोई भी कोड चलता है। इसलिए, कोई भी कोड जिसे आप सूट में सभी चश्मे से पहले चलाने की इच्छा रखते हैं, यहां रखा जाना चाहिए।
# 6) बाद: यह निर्माण पहले के समान ही है, और अंतर यह है कि इसमें शामिल कोड को हर कोड के बाद चलाया जाता है जब एक बार वर्णन निर्माण चलता है।
# 7) यह : यह निर्माण एक खाली वस्तु है जिसका उपयोग 'पहले', 'बाद' और 'किसी भी परीक्षण सूट में निर्माण करता है। प्रत्येक परीक्षण सूट की अपनी वस्तु होती है और परीक्षण सूट निष्पादित होने से पहले वस्तु को खाली कर दिया जाता है।
# 8) xdescribe करें : इस निर्माण का उपयोग सॉफ्टवेयर सुइट्स को निष्क्रिय करने के लिए किया जाता है। यह बस परीक्षण धावक को परीक्षण सूट को छोड़ने के लिए कहता है और इसलिए, इसका परिणाम नहीं दिखाया गया है और माना जाता है।
# 9) हिट : इस निर्माण का उपयोग एक लंबित कल्पना के रूप में एक सूट में एक युक्ति को इंगित करने के लिए किया जाता है। एक लंबित युक्ति एक युक्ति है जो चलेगी नहीं, लेकिन उनके नाम परीक्षण परिणाम में लंबित होने पर दिखाए जाएंगे।
साथ ही, यदि किसी भी युक्ति में लंबित कार्य को कहा जाता है, तो युक्ति को एक लंबित युक्ति के रूप में चिह्नित किया जाता है। बिना फ़ंक्शन बॉडी के घोषित किए गए किसी भी युक्ति को भी लंबित के रूप में चिह्नित किया जाता है।
# 10) जासूस : इस निर्माण का उपयोग जैस्मीन जासूस बनाने के लिए किया जाता है। जासूस मौक्स हैं। नकली असली वस्तु का प्रतिनिधित्व या नकल करने के लिए बनाई गई नकली वस्तुएं हैं। असली वस्तु को बनाने के ओवरहेड लागत को रोकने के लिए मोक्स की आवश्यकता होती है जो वे प्रतिनिधित्व करते हैं।
एक कोड का परीक्षण करने वाली इकाई का सार यह देखना है कि कोई फ़ंक्शन कनेक्ट की गई अन्य इकाइयों से स्वतंत्र कई शर्तों के तहत कैसे व्यवहार करता है या इससे जुड़ा होगा।
इस प्रकार, हम यह देखने के लिए फ्रंट-एंड यूनिट टेस्टिंग करते हैं कि कैसे हमारे सॉफ्टवेयर उत्पाद के फ्रंट-एंड की एक इकाई अन्य फ्रंट-एंड यूनिट्स से स्वतंत्र रूप से व्यवहार करेगी जो इससे जुड़े होंगे या इससे जुड़े होंगे।
इस परीक्षण के दौरान, हम विभिन्न तर्कों और कार्यों को कॉल करते हैं जो अन्य कार्यों और वस्तुओं पर निर्भर हो सकते हैं जैसे कि नेटवर्क कनेक्शन, डेटा स्रोत, और फाइलें।
इन निर्भरताओं को पूरा करने के लिए (ताकि हम फ्रंट-एंड यूनिट परीक्षण कर सकें), आवश्यक संसाधन उपलब्ध कराने की आवश्यकता है। इसलिए, हम वास्तविक दुनिया की वस्तुओं की नकल करने के लिए नकली को अपनाते हैं और वास्तव में उन्हें बनाने की ओवरहेड लागत से बचते हैं।
ध्यान दें कि एक साधारण स्तर पर, स्पाईऑन का उपयोग यह जांचने के लिए किया जाता है कि वास्तव में एक आश्रित फ़ंक्शन को क्या कहा जाता है, और यह निर्भर फ़ंक्शन केवल एक साधारण फ़ंक्शन हो सकता है जिसे उस ऑब्जेक्ट पर परिभाषित किया गया है जिसे हम जासूसी कर रहे हैं।
स्पाईऑन फ़ंक्शन दो मापदंडों को लेता है: जासूसी की जा रही वस्तु और उस पर निर्भरता फ़ंक्शन जिसमें यह सुनिश्चित करने के लिए जाँच की जाती है कि हमारा फ़ंक्शन इसे कॉल करता है।
जासूस सुइट या कल्पना में मौजूद है जिसमें इसे परिभाषित किया गया है। सुइट या कल्पना के निष्पादित होने के बाद, जासूस मौजूद होना बंद हो जाता है।
# 11) createSpy: यह निर्माण जासूसी के रूप में एक ही उद्देश्य प्रदान करता है, लेकिन अंतर यह है कि यह फ़ंक्शन परीक्षण के लिए एक नकली के साथ निर्भर फ़ंक्शन को बदलना संभव बनाता है।
मुझे ऐसा क्यों करना पडेगा? यह तब उपयोगी है जब मूल निर्भरता अन्य संसाधनों पर भी निर्भर होती है जो परीक्षण के संदर्भ में उपलब्ध नहीं हैं।
यह फ़ंक्शन एक डॉट के साथ जैस्मीन ऑब्जेक्ट का उपयोग करके एक्सेस किया गया है, यानी जैस्मीन.क्रीटसैपी (पैरामीटर)। यह केवल एक पैरामीटर लेता है, जो एक स्ट्रिंग है जो निर्भरता के नाम का प्रतिनिधित्व करता है जिसके लिए हम मॉक बना रहे हैं।
ध्यान दें कि एक जासूस बनाने के बाद, पहली कॉल पर जासूसी अपरिभाषित होती है, क्योंकि पहली कॉल को इसका प्रशिक्षण माना जाता है। फिर, बाद की कॉल के बाद, फ़ंक्शन वास्तविक मान लौटाता है। अधिक जानकारी देखें क्योंकि हम इसे नीचे देख रहे हैं।
जैस्मीन टेस्ट डबल फंक्शन फ़ीचर
जासूसी और createSpy का निर्माण मॉक के निर्माण (निर्भरता के लिए) को संभव बनाता है। यह एक परीक्षण में दो कार्यों का परीक्षण करने के अलावा और कोई बात नहीं है, इस प्रकार कथन 'परीक्षण दोहरा कार्य'।
दूसरा शब्द जो मॉक को संदर्भित करने के लिए इस्तेमाल किया जा सकता है वह है 'स्टब्स'।
जासूस मिलान: कई मैचर्स हैं जो जासूसों के साथ बातचीत करने की आवश्यकता को पूरा करते हैं। वे सम्मिलित करते हैं: 'ToHaveBeenCalled' और 'toHaveBeenCalledWith' ।
-
- toHaveBeenCalled : इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि यह निर्भर करता है कि जासूसी की जा रही है।
- toHaveBeenCalledWith : इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि यह सुनिश्चित करने के लिए कि जासूसी की जा रही है, मापदंडों के एक निश्चित समूह के साथ कहा जाता है।
यात्रा यहां सभी जैस्मीन निर्माण की विस्तृत रूपरेखा के लिए।
सी ++ में बुलबुला सॉर्ट
चमेली का उपयोग करने के दो तरीके
चमेली परीक्षण लिखने के दो तरीके हैं। एक है जैस्मीन को एक स्टैंडअलोन डिस्ट्रीब्यूशन के तौर पर स्पेसरनर के जरिए और दूसरा जैस्मिन को टेस्ट रनर के साथ इस्तेमाल करना है।
चलिए पहले नज़र दौड़ाने वाले के माध्यम से जैस्मीन परीक्षण चलाने पर डालते हैं।
जैस्मीन स्टैंडअलोन वितरण का उपयोग कैसे करें?
क्लिक यहां , और फिर क्लिक करके स्टैंडअलोन वितरण डाउनलोड करें चमेली-स्टैंडअलोन ।
फ़ाइल को प्रोजेक्ट फ़ोल्डर में अनज़िप करें। आपको पता चलेगा कि यह इन निर्देशिकाओं को परियोजना निर्देशिका में जोड़ता है: lib, src, और कल्पना; और इन फ़ाइलों को भी जोड़ता है: specRunner.html और MIT.LICENSE।
कार्य निर्देशिका में जैस्मिन लाइब्रेरी होती है जो परीक्षण फाइलों में निहित परीक्षणों को निष्पादित करती है जो कि specRunner.html फ़ाइल में जोड़े जाते हैं। SpecRunner.html फ़ाइल आपको परीक्षण को चलाने और कंसोल विंडो के बजाय वेब पेज प्रारूप में ब्राउज़र पर परिणाम देखने में सक्षम बनाती है।
Src डायरेक्टरी में फ्रंट-एंड सोर्स कोड होते हैं, और स्पेसी डायरेक्टरी में जैस्मिन टेस्ट सूट का उपयोग करके लिखी गई फाइलें होती हैं। डिफ़ॉल्ट रूप से, आप निर्देशिकाओं के अंदर कुछ परीक्षण सूट और फाइलें देख सकते हैं लेकिन हम इनका उपयोग नहीं करने जा रहे हैं, हम अपने स्वयं के परीक्षणों को अपने बाद के ट्यूटोरियल में लिखेंगे।
एक टेस्ट-रनर के साथ जैस्मीन का उपयोग करना
यह जैस्मीन का उपयोग करने का दूसरा तरीका है, जहां आप कर्म की तरह एक परीक्षण-धावक को कॉन्फ़िगर करते हैं और परीक्षणों को चलाने के लिए अपनी स्रोत फ़ाइल और परीक्षण युक्ति फ़ाइल के साथ फ़ीड करते हैं।
फिर, आप या तो परिणाम प्रदर्शित कर सकते हैं और इस्तांबुल का उपयोग करके रिपोर्ट उत्पन्न कर सकते हैं या परीक्षा परिणाम को coveralls.io पर प्रकाशित कर सकते हैं।
जैस्मीन-जेकरी का परिचय
जैस्मीन-जक्वेरी एक नोड पैकेज है जो जक्वेरी के साथ निर्मित फ्रंट-एंड कोड्स के परीक्षण में सहायता करता है। एक तरह से, यह जैस्मिन के ढांचे का विस्तार करता है जो कि जेक्वेरी के फ्रंट-एंड परीक्षण के लिए अनुकूल है।
जैस्मिन के ढांचे में इसके विस्तार के विस्तार में शामिल हैं:
- Jquery फ्रेमवर्क के लिए कस्टम मैचर्स का एक सेट, जैसे toBeChecked, toBeDisabled, toBeEmpty, आदि।
- हमारे स्पेक्स में HTML, CSS और JSON फिक्स्चर को संभालने के लिए एक एपीआई।
अब सवाल यह है कि 'एपीआई क्या है?' एक एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) एक इंटरफ़ेस है जो आपको कुछ कार्यों तक पहुंच प्रदान करता है जो खरोंच से निर्माण करने में आपके लिए समय और संसाधन ले सकते हैं।
एक और सवाल यह है कि जुड़नार क्या हैं? जुड़नार एक वस्तु की पूर्व-परिभाषित अवस्थाएं हैं जो हम आमतौर पर परीक्षण लिखते समय बनाते हैं ताकि आधार रेखा (एक अच्छी तरह से ज्ञात और निश्चित वातावरण) स्थापित किया जा सके जिसके खिलाफ परिणामों को दोहराने योग्य बनाने के लिए परीक्षण चलाए जाते हैं।
ले देख यहां कस्टम मैचर्स और एपीआई (ओं) के बारे में अधिक जानकारी के लिए।
निष्कर्ष
इस ट्यूटोरियल में, हमने यह समझने की कोशिश की कि टेस्टिंग फ्रेमवर्क क्या है और हमने जैस्मिन को जावास्क्रिप्ट टेस्टिंग फ्रेमवर्क के रूप में पेश किया। हमने विभिन्न जैस्मीन के निर्माणों पर ध्यान दिया, जिनका उपयोग परीक्षण चश्मा लिखने के लिए किया जा सकता है और हमने अंततः जैस्मीन-जेक्वरी को पेश किया, जो एक नोड-आधारित पैकेज है, जो जैस्मीन का विस्तार करता है जो जेक्वेरी अनुप्रयोगों का परीक्षण करने में सक्षम है।
टेकअवे
- एक परीक्षण ढांचा कार्यक्रमों या पैकेजों का एक सूट है जो विकसित सॉफ़्टवेयर की गुणवत्ता सुनिश्चित करने के लिए सॉफ़्टवेयर के परीक्षण की सुविधा प्रदान करता है।
- जैस्मीन एक व्यवहार चालित विकास उपकरण है जो ऐसे निर्माण प्रदान करता है जो जावास्क्रिप्ट अनुप्रयोगों के लिए परीक्षण चश्मा लिखने की सुविधा प्रदान करता है।
- टेस्ट-ड्रिवेन डेवलपमेंट एक ऐसा विकास दृष्टिकोण है जहाँ हम पहले परीक्षण लिखते हैं, और फिर उन्हें चलाते हैं। प्रत्येक परीक्षण अपने पहले ही निष्पादन पर विफल रहता है क्योंकि यह जिस फ़ंक्शन का उपयोग करता है वह अभी तक नहीं लिखा गया है। हम फिर फ़ंक्शन लिखते हैं और परीक्षणों को फिर से चलाते हैं। यहां, कुछ परीक्षण विफल हो जाते हैं और अन्य पास हो जाते हैं। फिर, हम सभी परीक्षण पास होने तक कोड को रीफ़्लैक्ट करते रहते हैं।
- एक व्यवहार चालित विकास दृष्टिकोण एक विकास दृष्टिकोण है जिसमें परीक्षण यह पता लगाने के लिए लिखे गए हैं कि सॉफ्टवेयर सुविधाएँ सभी हितधारकों द्वारा अपेक्षित व्यवहार करती हैं।
- जैस्मीन-जेकरी एक नोड पैकेज है जो जक्वेरी के साथ निर्मित फ्रंट-एंड कोड्स के परीक्षण को सहायता करता है।
अगला ट्यूटोरियल
हमारे आगामी ट्यूटोरियल में, हम इन दो उपकरणों (जैस्मीन और कर्म) के उपयोग के तरीके का पता लगाएंगे, ताकि एक विशिष्ट परियोजना के लिए परीक्षण चश्मा लिख सकें। हम यह भी देखेंगे कि अन्य उपकरणों जैसे कि gulp, browserify इत्यादि का उपयोग कैसे करें, जो हमारे परीक्षणों को चलाने और चलाने के लिए आवश्यक हैं।
PREV ट्यूटोरियल | अगले ट्यूटोरियल
अनुशंसित पाठ
- 8 सबसे अच्छा व्यवहार प्रेरित विकास (BDD) उपकरण और परीक्षण चौखटे
- टेस्टर्स को TDD, BDD और ATDD तकनीकों में कैसे शामिल किया जाता है
- टीडीडी बनाम बीडीडी - उदाहरणों के साथ अंतर का विश्लेषण करें
- BDD (व्यवहार प्रवृत्त विकास) ढांचा: एक पूर्ण ट्यूटोरियल
- टेस्ट स्ट्रेटेजी डॉक्यूमेंट कैसे लिखें (सैंपल टेस्ट स्ट्रेटेजी टेम्पलेट के साथ)
- 2021 में 10 सर्वश्रेष्ठ एपीआई परीक्षण उपकरण (SOAP और REST API परीक्षण उपकरण)
- एपीआई परीक्षण ट्यूटोरियल: शुरुआती के लिए एक पूर्ण गाइड
- उदाहरणों के साथ अजगर डेटाइम ट्यूटोरियल