"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो इंटीग्रेशन टेस्ट के लिए टेस्ट कवरेज कैसे मापें?

गो इंटीग्रेशन टेस्ट के लिए टेस्ट कवरेज कैसे मापें?

2024-11-16 को प्रकाशित
ब्राउज़ करें:369

How to Measure Test Coverage for Go Integration Tests?

गो इंटीग्रेशन टेस्ट में टेस्ट कवरेज का निर्धारण

एकीकरण परीक्षणों का उद्देश्य संपूर्ण सिस्टम की कार्यक्षमता का मूल्यांकन करना है, अक्सर मॉकिंग या नियंत्रण द्वारा बाहरी निर्भरता. हालाँकि, एकीकरण परीक्षणों के परीक्षण कवरेज का निर्धारण अद्वितीय चुनौतियों का सामना करता है।

गैर-पैकेज परीक्षणों में कवरेज को मापना

वर्णित परिदृश्य में, परीक्षण पैकेज से अलग होते हैं वे परीक्षण करते हैं. नतीजतन, गो टेस्ट-कवर कमांड 0% कवरेज की रिपोर्ट करता है। इसे संबोधित करने के लिए, कोई -coverpkg निर्देश का उपयोग कर सकता है। पैकेज, भले ही परीक्षण बाहरी हों। यह पैकेज पथ को अपने तर्क के रूप में लेता है। ..

यह दृष्टिकोण एकीकरण परीक्षणों में पैकेज कवरेज के लक्षित विश्लेषण की अनुमति देता है।

उदाहरण कवरेज आउटपुट

एक उदाहरण पर विचार करें जहां एपीआई पैकेज में main_test.go में परीक्षण शामिल हैं। अधिकांश व्यावसायिक तर्क mypackage पैकेज में रहते हैं। -कवरपीकेजी के साथ कमांड निष्पादित करने से कवरेज का अधिक सटीक प्रतिनिधित्व मिलता है:

$ go test -cover -coverpkg mypackage ./src/api/...

यह आउटपुट दिखाता है कि परीक्षण mypackage पैकेज में 50.8% स्टेटमेंट्स को कवर करते हैं। इसके विपरीत, -coverpkg का उपयोग किए बिना, कवरेज 71.0% अधिक दिखाई देगा, जो निर्दिष्ट पैकेज के बाहर परीक्षणों के कारण है।

अतिरिक्त विचार

यह सार्थक है यह देखते हुए कि मॉकिंग की जटिलता और सिस्टम-वाइड परीक्षण की प्रकृति के कारण एकीकरण परीक्षण आम तौर पर यूनिट परीक्षणों की तुलना में कम कोड को कवर करते हैं। हालाँकि, ऊपर उल्लिखित दृष्टिकोण विशेष रूप से प्रासंगिक पैकेजों के लिए एकीकरण परीक्षणों की वास्तविक कवरेज को मापने का एक तरीका प्रदान करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3