1. Chai क्या है और इसकी आवश्यकता क्यों है?
Chai JavaScript इकोसिस्टम में एक शक्तिशाली और लचीली assertion लाइब्रेरी है, जो टेस्ट लिखने के लिए डिज़ाइन की गई है। यह डेवलपर्स को कोड के अपेक्षित व्यवहार की जांच करने के लिए कई टूल प्रदान करती है। Chai का मुख्य उद्देश्य टेस्ट लिखने की प्रक्रिया को सहज, पढ़ने में आसान और अभिव्यंजक बनाना है, चाहे आप क्लासिक TDD (Test-Driven Development) या आधुनिक BDD (Behavior-Driven Development) शैली पसंद करें।
Chai की आवश्यकता क्यों है? सॉफ्टवेयर डेवलपमेंट में यह सुनिश्चित करना महत्वपूर्ण है कि हर फंक्शन, मॉड्यूल या कंपोनेंट ठीक वैसे ही काम करे जैसा अपेक्षित है। if...else का उपयोग करके मैन्युअल रूप से हर वैल्यू चेक करने और एक्सेप्शन फेंकने के बजाय, Chai एक सुंदर API प्रदान करती है। यह आपको ऐसे assertion लिखने देती है जो सामान्य अंग्रेजी वाक्यों जैसे दिखते हैं: expect(foo).to.be.a('string') या assert.equal(3, 3)। इससे टेस्ट पढ़ना, उन्हें मेंटेन करना और डीबग करना बहुत आसान हो जाता है। Chai कोई टेस्ट रनर (जैसे Mocha या Jest) नहीं है, यह उनके साथ मिलकर काम करती है और शर्तों की जांच के लिए एक लेयर प्रदान करती है।
Chai विशेष रूप से Node.js वातावरण में लोकप्रिय है, लेकिन इसे ब्राउज़र में भी इस्तेमाल किया जा सकता है। यह तीन मुख्य इंटरफेस सपोर्ट करती है: expect (BDD-शैली, चेन कॉल), should (BDD-शैली, प्रोटोटाइप एक्सटेंशन) और assert (TDD-शैली, क्लासिक)। अपनी मॉड्यूलरिटी और ढेरों प्लगइन्स (जैसे JSON, DOM, Promise के लिए) के कारण, Chai लगभग किसी भी JavaScript कोड के परीक्षण के लिए एक सार्वभौमिक समाधान है।
2. इंस्टॉलेशन
Node.js प्रोजेक्ट में Chai इंस्टॉल करने के लिए पैकेज मैनेजर npm का उपयोग करें। इसे डेवलपमेंट डिपेंडेंसी (devDependency) के रूप में इंस्टॉल करने की सलाह दी जाती है, क्योंकि प्रोडक्शन बिल्ड में इसकी आवश्यकता नहीं होती।
npm install --save-dev chai
अगर आप yarn का उपयोग कर रहे हैं:
yarn add --dev chai
इंस्टॉलेशन के बाद, आप अपनी टेस्ट फ़ाइल में Chai को शामिल कर सकते हैं। आमतौर पर यह दो तरीकों से किया जाता है:
// पूरे मॉड्यूल को इम्पोर्ट करना (Node.js के लिए अनुशंसित)
const chai = require('chai');
// या, अगर आप ES-मॉड्यूल का उपयोग कर रहे हैं (package.json में type: "module")
import chai from 'chai';
3. त्वरित शुरुआत
आइए Chai और लोकप्रिय टेस्ट रनर Mocha का उपयोग करके एक सरल टेस्ट लिखें। पहले Mocha इंस्टॉल करें: npm install --save-dev mocha।
एक फ़ाइल बनाएं test.js:
const chai = require('chai');
const expect = chai.expect; // BDD-शैली का उपयोग करें
// वह फंक्शन जिसका हम परीक्षण करेंगे
function add(a, b) {
return a + b;
}
// टेस्ट सेट (suite) का वर्णन करें
describe('add फंक्शन', function() {
// विशिष्ट टेस्ट (spec)
it('दो संख्याओं को सही ढंग से जोड़ना चाहिए', function() {
// assertion
expect(add(2, 3)).to.equal(5);
});
it('एक संख्या लौटानी चाहिए', function() {
expect(add(2, 3)).to.be.a('number');
});
});
टेस्ट चलाने के लिए कमांड का उपयोग करें: npx mocha test.js। आपको टेस्ट पास होने की हरी रिपोर्ट दिखाई देगी। यह उदाहरण बुनियादी संरचना दिखाता है: टेस्ट को ग्रुप करने के लिए describe, विशिष्ट टेस्ट का वर्णन करने के लिए it, और परिणाम जांचने के लिए expect।
4. मुख्य तरीके और फंक्शन
Chai तीन मुख्य API प्रदान करती है: expect, should और assert। हम expect के उदाहरण के साथ सबसे अधिक उपयोग किए जाने वाले तरीकों को देखेंगे, क्योंकि यह सबसे लोकप्रिय और लचीला है।