Mocha JavaScript (Node.js): पूर्ण गाइड उदाहरण सहित
1. यह क्या है और इसकी आवश्यकता क्यों है
Mocha एक शक्तिशाली, लचीला और व्यापक रूप से उपयोग किया जाने वाला टेस्टिंग फ्रेमवर्क है जो JavaScript के लिए Node.js और ब्राउज़र दोनों में काम करता है। इसे 2011 में डेवलपर TJ Holowaychuk द्वारा बनाया गया था और तब से यह JavaScript एप्लिकेशन के परीक्षण के लिए एक डी-फैक्टो मानक बन गया है। Mocha डेवलपर्स को सरल यूनिट टेस्ट से लेकर जटिल इंटीग्रेशन और एसिंक्रोनस टेस्ट सीनारियो तक लिखने के लिए एक साफ, मॉड्यूलर और अभिव्यंजक API प्रदान करता है।
Mocha का मुख्य उद्देश्य टेस्टिंग प्रक्रिया को यथासंभव सरल और सहज बनाना है। कुछ अन्य फ्रेमवर्क के विपरीत, Mocha टेस्ट की कोई सख्त संरचना नहीं थोपता और इसमें कोई बिल्ट-इन एसर्शन लाइब्रेरी शामिल नहीं है। इसके बजाय, यह टेस्ट को व्यवस्थित करने (describe/it/hooks) और विभिन्न रिपोर्टर्स के साथ चलाने के लिए एक ढांचा प्रदान करता है, जिससे एसर्शन की जांच के लिए लाइब्रेरी चुनने का अधिकार डेवलपर पर छोड़ दिया जाता है। यह Mocha को अत्यधिक लचीला बनाता है: आप इसे बिल्ट-इन assert मॉड्यूल, लोकप्रिय Chai लाइब्रेरी (जो BDD/TDD स्टाइल प्रदान करती है), Should.js या किसी अन्य के साथ उपयोग कर सकते हैं।
Mocha की आवश्यकता क्यों है? आधुनिक सॉफ्टवेयर डेवलपमेंट में, टेस्टिंग कोई विलासिता नहीं, बल्कि एक आवश्यकता है। Mocha आपको कोड की शुद्धता की जांच को स्वचालित करने, बदलावों के बाद रिग्रेशन का पता लगाने, फंक्शन और मॉड्यूल के व्यवहार का दस्तावेजीकरण करने और एप्लिकेशन की समग्र विश्वसनीयता और स्थिरता बढ़ाने में मदद करता है। एसिंक्रोनस टेस्टिंग (कॉलबैक, प्रॉमिस, async/await) के समर्थन और विभिन्न एसर्शन लाइब्रेरी के साथ काम करने की क्षमता के कारण, Mocha Node.js पर सर्वर-साइड एप्लिकेशन, API, डेटाबेस और किसी भी अन्य घटक के परीक्षण के लिए आदर्श है।
2. इंस्टॉलेशन
Mocha को पैकेज मैनेजर npm (Node Package Manager) के माध्यम से इंस्टॉल किया जाता है। इसे डेवलपमेंट डिपेंडेंसी (devDependency) के रूप में इंस्टॉल करने की सिफारिश की जाती है, क्योंकि प्रोडक्शन एनवायरनमेंट में टेस्ट की आवश्यकता नहीं होती है।
इंस्टॉल करने का सटीक कमांड:
npm install --save-dev mocha
इंस्टॉलेशन के बाद, आप package.json फ़ाइल में एक स्क्रिप्ट जोड़कर टेस्ट चला सकते हैं:
{
"scripts": {
"test": "mocha"
}
}
अब टेस्ट को इस कमांड से चलाया जा सकता है:
npm test
ग्लोबल इंस्टॉलेशन के लिए (अनुशंसित नहीं, लेकिन संभव है):
npm install -g mocha
3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण
निम्नलिखित सामग्री के साथ एक test.js फ़ाइल बनाएं:
const assert = require('assert');
// वह फंक्शन जिसका हम परीक्षण करेंगे
function add(a, b) {
return a + b;
}
// टेस्ट सूट
describe('add फंक्शन', function() {
// विशिष्ट टेस्ट
it('दो संख्याओं का योग लौटाना चाहिए', function() {
// एसर्शन
assert.strictEqual(add(2, 3), 5);
});
it('ऋणात्मक संख्याओं के साथ काम करना चाहिए', function() {
assert.strictEqual(add(-1, -1), -2);
});
});
टेस्ट चलाएं:
npx mocha test.js
आपको दो टेस्ट पास होने की हरी रिपोर्ट देखनी चाहिए।
4. मुख्य तरीके/फंक्शन/क्लास
Mocha ग्लोबल फंक्शन प्रदान करता है जिन्हें इम्पोर्ट करने की आवश्यकता नहीं है (जब तक कि --require विकल्प से अक्षम न किया गया हो)। नीचे सिग्नेचर, विवरण और उदाहरणों सहित 8 प्रमुख तरीके दिए गए हैं।
4.1 describe(name, fn)
सिग्नेचर: describe(name: string, fn: function): void
यह क्या करता है: एक टेस्ट सूट बनाता है — संबंधित टेस्ट का एक समूह। इसका उपयोग टेस्ट को तार्किक रूप से व्यवस्थित करने के लिए किया जाता है। इसे नेस्टेड किया जा सकता है।
पुस्तकालय में भी
Java में YAML के साथ काम करना: SnakeYAML और Jackson लाइब्रेरी
Go (Golang) में इमेज प्रोसेसिंग: image, draw, imaging, resize
TypeScript अनुप्रयोगों का कॉन्फ़िगरेशन प्रबंधन: पूर्ण गाइड
Kotlin के लिए Play Services: उदाहरणों के साथ पूर्ण गाइड
C++ में Prometheus मेट्रिक्स का एकीकरण: prometheus-cpp लाइब्रेरी