सही अपवाद फेंकने के लिए परीक्षण कार्य
अपवादों का परीक्षण करने के लिए, हम throwचाई द्वारा प्रदान किए गए दावे का उपयोग कर सकते हैं। यह दावा हमें अपवाद के प्रकार को निर्दिष्ट करने की अनुमति देता है जिसे फेंकना चाहिए और कोई भी अतिरिक्त विवरण जिसे हम सत्यापित करना चाहते हैं। इस दावे को अपने परीक्षण मामलों में शामिल करके, हम यह सुनिश्चित कर सकते हैं कि हमारे कार्य अपेक्षित व्यवहार करते हैं और त्रुटि स्थितियों को उचित रूप से संभालते हैं।
आइए एक उदाहरण पर विचार करें जहां हमारे पास एक फ़ंक्शन है जो दो संख्याओं को विभाजित करता है। हम यह सुनिश्चित करना चाहते हैं कि शून्य से विभाजित करते समय फ़ंक्शन एक अपवाद फेंके। हम यह जांचने के लिए चाई के दावे का उपयोग करके एक परीक्षण केस लिख सकते हैं कि शून्य से विभाजित करते समय throwफ़ंक्शन सही ढंग से फेंकता है या नहीं।DivideByZeroError
const { expect } = require('chai');
function divide(a, b) {
if (b === 0) {
throw new Error('DivideByZeroError');
}
return a / b;
}
describe('divide', () => {
it('should throw DivideByZeroError when dividing by zero', () => {
expect(() => divide(10, 0)).to.throw('DivideByZeroError');
});
it('should return the correct result when dividing two numbers', () => {
expect(divide(10, 5)).to.equal(2);
});
});
उपरोक्त उदाहरण में, हम यह to.throwसत्यापित करने के लिए दावे का उपयोग करते हैं कि फ़ंक्शन शून्य से विभाजित होने पर dividea फेंकता है । DivideByZeroErrorअभिकथन को एक फ़ंक्शन में लपेटा गया है ताकि यह अपवाद को पकड़ सके और आवश्यक जांच कर सके।
सही अपवाद फेंकने के लिए परीक्षणों को शामिल करके, हम यह सुनिश्चित कर सकते हैं कि हमारे कार्य त्रुटि स्थितियों को उचित रूप से संभालते हैं और अप्रत्याशित स्थिति होने पर सार्थक प्रतिक्रिया प्रदान करते हैं। यह हमारे कोड की समग्र गुणवत्ता और विश्वसनीयता को बेहतर बनाने में मदद करता है।
निष्कर्ष में, अपवादों को फेंकने वाले परीक्षण कार्य सॉफ्टवेयर परीक्षण का एक महत्वपूर्ण पहलू है। चाई के throwदावे से, हम आसानी से सत्यापित कर सकते हैं कि हमारे कार्य आवश्यक होने पर अपेक्षित अपवाद फेंकते हैं। इन परीक्षणों को अपनी परीक्षण रणनीति में शामिल करके, हम अपने अनुप्रयोगों की मजबूती बढ़ा सकते हैं और बेहतर उपयोगकर्ता अनुभव प्रदान कर सकते हैं।
"नोड.जेएस, मोचा और चाय" श्रृंखला के तीसरे लेख में, हम यह पता लगाएंगे कि चाय का उपयोग करके कार्यों और विधियों का परीक्षण कैसे किया जाए। चाय जावास्क्रिप्ट कोड में मूल्यों और परिणामों के परीक्षण के लिए एक शक्तिशाली अभिकथन पुस्तकालय है।
वस्तु विधियों और उनके व्यवहारों का परीक्षण करना
किसी ऑब्जेक्ट के तरीकों को सत्यापित करने के लिए, हम मोचा और चाय जैसे परीक्षण ढांचे द्वारा प्रदान किए गए दावे का उपयोग कर सकते हैं। ये दावे हमें वस्तुओं के गुणों और व्यवहार के बारे में दावा करने की अनुमति देते हैं।
आइए एक उदाहरण पर विचार करें जहां हमारे पास calculatorजोड़, घटाव, गुणा और भाग के तरीकों के साथ एक ऑब्जेक्ट है। हम यह सुनिश्चित करना चाहते हैं कि ये विधियाँ सही परिणाम दें। हम इन विधियों के व्यवहार को सत्यापित करने के लिए चाई के दावों का उपयोग करके परीक्षण मामले लिख सकते हैं।
const { expect } = require('chai');
const calculator = {
add: (a, b) => a + b,
subtract: (a, b) => a - b,
multiply: (a, b) => a * b,
divide: (a, b) => a / b,
};
describe('calculator', () => {
it('should return the correct sum when adding two numbers', () => {
expect(calculator.add(5, 3)).to.equal(8);
});
it('should return the correct difference when subtracting two numbers', () => {
expect(calculator.subtract(5, 3)).to.equal(2);
});
it('should return the correct product when multiplying two numbers', () => {
expect(calculator.multiply(5, 3)).to.equal(15);
});
it('should return the correct quotient when dividing two numbers', () => {
expect(calculator.divide(6, 3)).to.equal(2);
});
});
उपरोक्त उदाहरण में, हम expectयह सत्यापित करने के लिए चाई के दावे का उपयोग करते हैं कि ऑब्जेक्ट के तरीके calculatorअपेक्षित परिणाम लौटाते हैं। प्रत्येक परीक्षण मामला एक विशिष्ट विधि पर ध्यान केंद्रित करता है और जांचता है कि क्या यह किसी दिए गए इनपुट के लिए सही आउटपुट देता है।
इन परीक्षण मामलों को चलाकर, हम यह सुनिश्चित कर सकते हैं कि calculatorऑब्जेक्ट के तरीके अपेक्षा के अनुरूप व्यवहार करें और सटीक परिणाम प्रदान करें।
विधियों के रिटर्न मानों की जाँच करने के अलावा, हम वस्तुओं के अन्य गुणों और व्यवहार को सत्यापित करने के लिए भी अभिकथन का उपयोग कर सकते हैं। चाय अभिकथनों की एक विस्तृत श्रृंखला प्रदान करती है जो हमें वस्तुओं पर विभिन्न प्रकार के अभिकथन करने की अनुमति देती है, जैसे संपत्ति मूल्यों की जाँच करना, विधि आमंत्रणों की पुष्टि करना, और बहुत कुछ।
किसी ऑब्जेक्ट के तरीकों का पूरी तरह से परीक्षण करके, हम उनकी शुद्धता और विश्वसनीयता सुनिश्चित कर सकते हैं, जो हमारे कोडबेस की समग्र गुणवत्ता में योगदान देता है।