जावास्क्रिप्ट परीक्षण: 2024 में शुरुआत करने वाले के लिए कहाँ से शुरू करें

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट परीक्षण डरावना नहीं, बल्कि उपयोगी क्यों है?

\n\n

जब मैंने पहली बार JavaScript में लिखना शुरू किया, तो मुझे लगता था कि परीक्षण किसी उच्च जादू की तरह है। "क्यों? मैं तो देख ही रहा हूँ कि कोड काम कर रहा है!" - मैं सोचता था। और फिर सोमवार आता, मैं एक छोटा सा फंक्शन जोड़ता, और सब कुछ टूट जाता। क्या यह परिचित लगता है?

\n\n

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

\n\n

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

\n\n

परीक्षण के प्रकार: शुरुआती को क्या जानना चाहिए

\n\n

कोड लिखने से पहले, आइए सिद्धांत को समझें। कुल मिलाकर, परीक्षण के तीन मुख्य स्तर हैं, लेकिन शुरुआत के लिए हमें केवल एक की आवश्यकता है।

\n\n

यूनिट टेस्ट (Unit tests)

\n

ये कोड के सबसे छोटे टुकड़ों - फंक्शन, मेथड, क्लास के लिए परीक्षण हैं। ये जाँचते हैं: "क्या यह विशिष्ट फंक्शन वैसे काम कर रहा है जैसा मैंने सोचा था?"। यूनिट टेस्ट जावास्क्रिप्ट वह आधार है जिससे हर कोई शुरू करता है।

\n\n

इंटीग्रेशन टेस्ट (Integration tests)

\n

ये जाँचते हैं कि सिस्टम के विभिन्न भाग एक-दूसरे के साथ कैसे काम करते हैं। उदाहरण के लिए, क्या "फॉर्म → डेटा भेजना → सर्वर प्रतिक्रिया" का कनेक्शन काम करता है।

\n\n

E2E-टेस्ट (End-to-End)

\n

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

\n\n

शुरुआत के लिए, आपके लिए यूनिट टेस्ट सीखना पर्याप्त है। बाकी सब अनुभव के साथ आएगा।

\n\n

उपकरण: शुरुआती को क्या चुनना चाहिए?

\n\n

जावास्क्रिप्ट परीक्षण के लिए उपकरणों का बाजार बहुत बड़ा है। लेकिन मैं तीन संयोजनों पर प्रकाश डालूंगा जिनका उपयोग शुरुआती वास्तव में कर सकते हैं:

\n\n
    \n
  • Jest — सबसे लोकप्रिय फ्रेमवर्क। "बॉक्स से बाहर" काम करता है, जटिल सेटअप की आवश्यकता नहीं है। शुरुआत के लिए आदर्श।
  • \n
  • Mocha + Chai — क्लासिक। Mocha परीक्षण चलाता है, Chai जाँच (assertions) के लिए सुविधाजनक फंक्शन देता है।
  • \n
  • Vitest — आधुनिक और तेज़, लगभग Jest जैसा, लेकिन Vite प्रोजेक्ट्स के लिए।
  • \n
\n\n

मैं Jest से शुरू करने की सलाह देता हूँ। यह सहज रूप से समझ में आता है, इसकी उत्कृष्ट दस्तावेज़ीकरण और बहुत बड़ा समुदाय है। यदि आप Jest सीख लेते हैं, तो अन्य उपकरणों पर स्विच करना आसान होगा।

\n\n

पहला परीक्षण लिखना: चरण-दर-चरण गाइड

\n\n

आइए वास्तविक कोड लिखें। मान लीजिए, हमारे पास एक सरल फंक्शन है जो दो संख्याओं को जोड़ता है:

\n\n
// math.js\nfunction add(a, b) {\n  return a + b;\n}\n\nmodule.exports = add;\n
\n\n

अब Jest इंस्टॉल करें। प्रोजेक्ट फ़ोल्डर में टर्मिनल खोलें और निष्पादित करें:

\n\n
npm init -y\nnpm install --save-dev jest\n
\n\n

package.json में परीक्षण चलाने के लिए स्क्रिप्ट जोड़ें:

\n\n
"scripts": {\n  "test": "jest"\n}\n
\n\n

उसी फ़ोल्डर में math.test.js फ़ाइल बनाएँ। परीक्षण लिखें:

\n\n
// math.test.js\nconst add = require('./math');\n\ntest('2 + 3 जोड़ता है और 5 प्राप्त करता है', () => {\n  expect(add(2, 3)).toBe(5);\n});\n\ntest('ऋणात्मक संख्याओं को जोड़ता है', () => {\n  expect(add(-1, -1)).toBe(-2);\n});\n\ntest('शून्य जोड़ता है', () => {\n  expect(add(0, 0)).toBe(0);\n});\n
\n\n

कमांड npm test से परीक्षण चलाएँ। यदि सब कुछ सही है, तो आप हरे निशान देखेंगे। बधाई हो, आपने अभी-अभी अपना पहला जावास्क्रिप्ट परीक्षण लिखा है!

\n\n

अधिक जटिल फंक्शन का परीक्षण कैसे करें?

\n\n

ठीक है, हमने संख्याओं को जोड़ना सीख लिया। लेकिन क्या होगा यदि फंक्शन arrays या objects के साथ काम करता है? आइए एक और जटिल उदाहरण देखें।

\n\n

उम्र के अनुसार उपयोगकर्ताओं को फ़िल्टर करने का फंक्शन:

\n\n
// users.js\nfunction filterAdults(users) {\n  return users.filter(user => user.age >= 18)                

ब्लॉग

पुस्तक अनुशंसाएँ