Jest के साथ यूनिट परीक्षण
Jest परीक्षण फ़्रेमवर्क का उपयोग करके अलग-अलग फ़ंक्शन और मॉड्यूल के स्वतंत्र यूनिट परीक्षण लिखना सीखिए।
Jest के साथ यूनिट परीक्षण, CoddyKit पर Node.js बैकएंड विकास बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Node.js बैकएंड विकास बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
यूनिट परीक्षण क्या है
यूनिट परीक्षण में आपका स्वागत है! यह सॉफ़्टवेयर विकास की एक मूलभूत प्रक्रिया है, जिसमें आपके एप्लिकेशन के अलग-अलग घटकों या फ़ंक्शन का स्वतंत्र रूप से परीक्षण किया जाता है।
इसे ऐसे समझिए जैसे पूरी घड़ी जोड़ने से पहले उसके हर पुर्जे को अलग-अलग जाँचना, ताकि यह सुनिश्चित हो सके कि वह पूरी तरह काम कर रहा है। इससे बग जल्दी पकड़ने में मदद मिलती है!
Jest से मिलिए: आपका परीक्षण साथी
Node.js के लिए Jest सबसे लोकप्रिय और डेवलपर-अनुकूल परीक्षण फ़्रेमवर्क में से एक है। इसे Facebook ने विकसित किया है और यह JavaScript परीक्षण के लिए एक संपूर्ण, एकीकृत समाधान प्रदान करता है।
- शून्य कॉन्फ़िगरेशन: अक्सर इंस्टॉल करते ही काम करने लगता है।
- तेज़: बेहतर प्रदर्शन के लिए बनाया गया है।
- समृद्ध API: शक्तिशाली अभिकथन लाइब्रेरी (मैचर) शामिल है।
- स्नैपशॉट परीक्षण: UI घटकों के लिए बहुत उपयोगी।
Jest इंस्टॉल करना
Jest के साथ शुरुआत करना आसान है। आप इसे अपने Node.js प्रोजेक्ट में विकास-निर्भरता के रूप में इंस्टॉल करेंगे। अपने प्रोजेक्ट की मूल निर्देशिका में टर्मिनल खोलें और चलाएँ:
npm install --save-dev jest
इंस्टॉलेशन के बाद, आप अपने परीक्षण आसानी से चलाने के लिए package.json file में एक स्क्रिप्ट जोड़ सकते हैं:
"scripts": { "test": "jest" }
परीक्षण के लिए हमारा पहला फ़ंक्शन
आइए एक सरल फ़ंक्शन लिखते हैं जिसका हम परीक्षण करना चाहते हैं। यह फ़ंक्शन दो संख्याओं को जोड़ेगा। हम इसे sum.js नाम की file में रखेंगे।
फ़ंक्शन को काम करते हुए देखने के लिए आप इस file को सीधे चला सकते हैं, लेकिन बाद में हम Jest से इसका स्वचालित परीक्षण करेंगे!
function sum(a, b) {
return a + b;
}
// This allows us to use 'sum' in other files
module.exports = sum;
// Optional: Run this part only if the file is executed directly
if (require.main === module) {
console.log("Running sum(2, 3):");
console.log("Result: ", sum(2, 3)); // Expected: 5
}अपनी परीक्षण file की संरचना बनाना
Jest विशेष नामकरण परंपराओं वाली परीक्षण files खोजता है, आमतौर पर .test.js या .spec.js। आइए इसी निर्देशिका में sum.test.js बनाएँ।
इसके अंदर, संबंधित परीक्षणों को समूहित करने के लिए हम describe() और अलग-अलग परीक्षण मामलों के लिए test() (या it()) का उपयोग करते हैं। इससे आपके परीक्षण व्यवस्थित और पढ़ने में आसान रहते हैं।
मैचर से अभिकथन करना
test() ब्लॉक के अंदर, किसी मान के कुछ शर्तों को पूरा करने का अभिकथन करने के लिए हम expect() को एक "मैचर" के साथ जोड़कर उपयोग करते हैं। उदाहरण के लिए, .toBe() सटीक समानता की जाँच करता है।
हम अपने sum फ़ंक्शन का परीक्षण इस तरह करेंगे:
const sum = require('./sum');
describe('sum function', () => {
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
test('adds 0 + 0 to equal 0', () => {
expect(sum(0, 0)).toBe(0);
});
test('adds negative numbers correctly', () => {
expect(sum(-1, -2)).toBe(-3);
});
});अपने परीक्षण चलाना
अब आपके पास sum.js और sum.test.js files हैं, और स्क्रिप्ट के साथ Jest इंस्टॉल व कॉन्फ़िगर किया जा चुका है, इसलिए आप अपने परीक्षण चला सकते हैं!
अपने टर्मिनल में बस npm test टाइप करें। Jest आपकी .test.js files खोजकर उन्हें चलाएगा और परिणाम बताएगा। यदि सभी परीक्षण सफल होते हैं, तो आपको हरा संकेत दिखाई देगा!
असिंक्रोनस परीक्षणों को संभालना
कई Node.js एप्लिकेशन असिंक्रोनस प्रक्रियाओं से काम करते हैं, जैसे डेटा प्राप्त करना और डेटाबेस कॉल। Jest इन्हें बहुत अच्छी तरह संभालता है!
आप अपने परीक्षण फ़ंक्शन में सीधे async/await का उपयोग कर सकते हैं। परीक्षण पूरा होने से पहले Jest प्रॉमिस के पूरा होने की प्रतीक्षा करेगा।
function fetchData() {
return new Promise(resolve => {
setTimeout(() => {
resolve("Data from API");
}, 50);
});
}
module.exports = fetchData;
// Optional: Run this part only if the file is executed directly
if (require.main === module) {
console.log("Simulating data fetch...");
fetchData().then(data => console.log("Received: ", data));
}असिंक्रोनस परीक्षण लिखना
अपने fetchData फ़ंक्शन का परीक्षण करने के लिए, हम अपने परीक्षण फ़ंक्शन को async के रूप में चिह्नित करेंगे। Jest प्रॉमिस के लिए .resolves और .rejects जैसे विशेष मैचर भी प्रदान करता है।
अपने परीक्षण में await का उपयोग करने से असिंक्रोनस कोड सिंक्रोनस जैसा दिखाई देता है और पठनीयता बेहतर होती है।
const fetchData = require('./fetchData');
describe('fetchData function', () => {
test('should return "Data from API"', async () => {
const data = await fetchData();
expect(data).toBe('Data from API');
});
test('should resolve with specific data', () => {
return expect(fetchData()).resolves.toBe('Data from API');
});
});Jest मैचर जाँच
दो ऑब्जेक्ट के एक ही मान की (गहन तुलना द्वारा) जाँच करने के लिए, न कि केवल उनके एक ही इंस्टेंस होने की जाँच करने के लिए, आप निम्नलिखित में से किस Jest मैचर का उपयोग करेंगे?
Jest के साथ यूनिट परीक्षण: पुनरावलोकन
बहुत अच्छा! आपने Jest के साथ यूनिट परीक्षण की मूल बातें सीख ली हैं। हमने इन विषयों को कवर किया:
- यूनिट परीक्षण क्या है और इसके लाभ।
- Jest को इंस्टॉल और सेट अप करने का तरीका।
describeऔरtestसे परीक्षणों की संरचना बनाना।expectऔर.toBe()तथा.toEqual()जैसे मैचर का उपयोग करके अभिकथन करना।async/awaitसे असिंक्रोनस कोड संभालना।
अभ्यास करते रहें और परीक्षण का आनंद लें!
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 22
- पाठ
- 92
अक्सर पूछे जाने वाले प्रश्न
क्या “Jest के साथ यूनिट परीक्षण” पाठ निःशुल्क है?
हाँ—“Jest के साथ यूनिट परीक्षण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Node.js बैकएंड विकास बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Jest के साथ यूनिट परीक्षण” में मैं क्या सीखूँगा?
Jest परीक्षण फ़्रेमवर्क का उपयोग करके अलग-अलग फ़ंक्शन और मॉड्यूल के स्वतंत्र यूनिट परीक्षण लिखना सीखिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Node.js बैकएंड विकास बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Node.js बैकएंड विकास बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Node.js बैकएंड विकास बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Jest के साथ यूनिट परीक्षण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Node.js बैकएंड विकास बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Node.js बैकएंड विकास बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Jest के साथ यूनिट परीक्षण
- API एंडपॉइंट्स का एकीकरण परीक्षण
- प्रभावी डीबगिंग तकनीकें
- Node.js में मॉकिंग और परीक्षण डबल्स