इस प्रोजेक्ट के बारे में

Sinon.JS एक लोकप्रिय जावास्क्रिप्ट टेस्टिंग लाइब्रेरी है जो यूनिट टेस्ट लिखने के लिए उपकरणों का एक व्यापक सेट प्रदान करती है। लाइब्रेरी तीन मुख्य अवधारणाएँ प्रदान करती है: स्पाइज़, स्टब्स और मॉक्स। स्पाइज़ कॉल और तर्कों को रिकॉर्ड करने के लिए फ़ंक्शन को लपेटते हैं, स्टब्स नियंत्रित व्यवहार के साथ फ़ंक्शन को प्रतिस्थापित करते हैं, और मॉक्स अपेक्षित व्यवहार को सत्यापित करने के लिए दोनों को जोड़ते हैं। लाइब्रेरी को स्टैंडअलोन और टेस्ट फ्रेमवर्क-अज्ञेय बनाने के लिए डिज़ाइन किया गया है, जिसका अर्थ है कि इसका उपयोग Mocha, Jasmine, QUnit, या Jest जैसे किसी भी टेस्टिंग फ्रेमवर्क के साथ किया जा सकता है। इसका लक्ष्य कोई वैश्विक प्रदूषण नहीं, उपयोग में आसानी, न्यूनतम एकीकरण आवश्यकताएँ, और किसी भी टेस्टिंग फ्रेमवर्क के साथ सहज एम्बेडिंग है। स्थापना npm (`npm install sinon`) के माध्यम से या प्रोजेक्ट होमपेज पर उपलब्ध ब्राउज़र बिल्ड के माध्यम से सीधी है। लाइब्रेरी आसान एकीकरण के लिए npm-आधारित CDN का भी समर्थन करती है। मुख्य विशेषताएँ शामिल हैं: - स्पाइज़: फ़ंक्शन कॉल, तर्क और रिटर्न मान रिकॉर्ड करें - स्टब्स: नियंत्रित व्यवहार के साथ फ़ंक्शन को प्रतिस्थापित करें - मॉक्स: अपेक्षित व्यवहार को सत्यापित करने के लिए स्पाइज़ और स्टब्स को जोड़ें - फेक टाइमर: setTimeout, setInterval, Date, आदि के लिए तैयार फेक - कोई वैश्विक प्रदूषण नहीं: स्वच्छ API जो वैश्विक नेमस्पेस को प्रदूषित नहीं करता परियोजना BSD-3 लाइसेंस का पालन करती है और समुदाय के योगदान के साथ सक्रिय रूप से बनाए रखी जाती है। यह माइग्रेशन के दौरान सार्वजनिक APIs की सुरक्षा के लिए आर्टिफैक्ट-फर्स्ट कॉन्ट्रैक्ट टेस्ट का उपयोग करती है। `lib/` निर्देशिका में उत्पन्न बिल्ड आउटपुट होता है और यह रिपॉजिटरी में प्रतिबद्ध नहीं है; डेवलपर्स इसे `npm run build` का उपयोग करके स्थानीय रूप से पुनर्जीवित कर सकते हैं। Sinon.JS विश्वसनीय, रखरखाव योग्य यूनिट टेस्ट लिखने के लिए जावास्क्रिप्ट पारिस्थितिकी तंत्र में व्यापक रूप से उपयोग किया जाता है। इसकी स्वच्छ API और फ्रेमवर्क-अज्ञेय डिज़ाइन इसे विभिन्न टेस्टिंग वातावरणों में काम करने वाले डेवलपर्स के लिए एक बहुमुखी विकल्प बनाती है।