सही अपवाद फेंकने के लिए परीक्षण कार्य
अपवादों का परीक्षण करने के लिए, हम throw
द्वारा प्रदान किए गए दावे का उपयोग कर सकते हैं Chai । यह दावा हमें अपवाद के प्रकार को निर्दिष्ट करने की अनुमति देता है जिसे फेंकना चाहिए और कोई भी अतिरिक्त विवरण जिसे हम सत्यापित करना चाहते हैं। इस दावे को अपने परीक्षण मामलों में शामिल करके, हम यह सुनिश्चित कर सकते हैं कि हमारे कार्य अपेक्षित व्यवहार करते हैं और त्रुटि स्थितियों को उचित रूप से संभालते हैं।
आइए एक उदाहरण पर विचार करें जहां हमारे पास एक फ़ंक्शन है जो दो संख्याओं को विभाजित करता है। हम यह सुनिश्चित करना चाहते हैं कि शून्य से विभाजित करते समय फ़ंक्शन एक अपवाद फेंके। हम यह जांचने के लिए कि क्या शून्य से विभाजित करते समय फ़ंक्शन सही ढंग से a फेंकता है, के दावे का Chai उपयोग करके एक परीक्षण केस लिख सकते हैं । 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
सत्यापित करने के लिए दावे का उपयोग करते हैं कि फ़ंक्शन शून्य से विभाजित होने पर divide
a फेंकता है । DivideByZeroError
अभिकथन को एक फ़ंक्शन में लपेटा गया है ताकि यह अपवाद को पकड़ सके और आवश्यक जांच कर सके।
सही अपवाद फेंकने के लिए परीक्षणों को शामिल करके, हम यह सुनिश्चित कर सकते हैं कि हमारे कार्य त्रुटि स्थितियों को उचित रूप से संभालते हैं और अप्रत्याशित स्थिति होने पर सार्थक प्रतिक्रिया प्रदान करते हैं। यह हमारे कोड की समग्र गुणवत्ता और विश्वसनीयता को बेहतर बनाने में मदद करता है।
निष्कर्ष में, अपवादों को फेंकने वाले परीक्षण कार्य सॉफ्टवेयर परीक्षण का एक महत्वपूर्ण पहलू है। Chai के दावे के साथ throw
, हम आसानी से सत्यापित कर सकते हैं कि हमारे कार्य आवश्यक होने पर अपेक्षित अपवाद फेंकते हैं। इन परीक्षणों को अपनी परीक्षण रणनीति में शामिल करके, हम अपने अनुप्रयोगों की मजबूती बढ़ा सकते हैं और बेहतर उपयोगकर्ता अनुभव प्रदान कर सकते हैं।
Mocha "Node.js,, और " श्रृंखला के तीसरे लेख में Chai, हम यह पता लगाएंगे कि. का उपयोग करके कार्यों और विधियों का परीक्षण कैसे किया जाए Chai । कोड Chai में मूल्यों और परिणामों के परीक्षण के लिए एक शक्तिशाली अभिकथन पुस्तकालय है । JavaScript
वस्तु विधियों और उनके व्यवहारों का परीक्षण करना
किसी ऑब्जेक्ट के तरीकों को सत्यापित करने के लिए, हम Mocha और जैसे परीक्षण ढांचे द्वारा प्रदान किए गए दावे का उपयोग कर सकते हैं Chai । ये दावे हमें वस्तुओं के गुणों और व्यवहार के बारे में दावा करने की अनुमति देते हैं।
आइए एक उदाहरण पर विचार करें जहां हमारे पास calculator
जोड़, घटाव, गुणा और भाग के तरीकों के साथ एक ऑब्जेक्ट है। हम यह सुनिश्चित करना चाहते हैं कि ये विधियाँ सही परिणाम दें। हम Chai इन विधियों के व्यवहार को सत्यापित करने के लिए दावे का उपयोग करके परीक्षण मामले लिख सकते हैं।
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);
});
});
उपरोक्त उदाहरण में, हम यह सत्यापित करने के लिए दावे Chai का उपयोग करते हैं expect
कि ऑब्जेक्ट के तरीके calculator
अपेक्षित परिणाम लौटाते हैं। प्रत्येक परीक्षण मामला एक विशिष्ट विधि पर ध्यान केंद्रित करता है और जांचता है कि क्या यह किसी दिए गए इनपुट के लिए सही आउटपुट देता है।
इन परीक्षण मामलों को चलाकर, हम यह सुनिश्चित कर सकते हैं कि calculator
ऑब्जेक्ट के तरीके अपेक्षा के अनुरूप व्यवहार करें और सटीक परिणाम प्रदान करें।
विधियों के रिटर्न मानों की जाँच करने के अलावा, हम वस्तुओं के अन्य गुणों और व्यवहार को सत्यापित करने के लिए भी अभिकथन का उपयोग कर सकते हैं। Chai अभिकथनों की एक विस्तृत श्रृंखला प्रदान करता है जो हमें वस्तुओं पर विभिन्न प्रकार के अभिकथन करने की अनुमति देता है, जैसे कि संपत्ति मूल्यों की जाँच करना, विधि आमंत्रण की पुष्टि करना, और बहुत कुछ।
किसी ऑब्जेक्ट के तरीकों का पूरी तरह से परीक्षण करके, हम उनकी शुद्धता और विश्वसनीयता सुनिश्चित कर सकते हैं, जो हमारे कोडबेस की समग्र गुणवत्ता में योगदान देता है।