Coverage.py क्या है?
Coverage.py Python में कोड कवरेज विश्लेषण के लिए एक शक्तिशाली टूल है। यह डेवलपर्स को यह पता लगाने में मदद करता है कि टेस्टिंग के दौरान उनके कोड के कौन से हिस्से execute हुए और कौन से नहीं। यह टूल कोड क्वालिटी सुनिश्चित करने की प्रक्रिया का एक अहम हिस्सा है और टेस्ट कवरेज में संभावित कमियों को उजागर करता है।
Coverage.py का मुख्य उद्देश्य यह बताना है कि आपके टेस्ट आपके लिखे कोड को कितनी अच्छी तरह कवर करते हैं। यह टूल प्रोग्राम के execution का विश्लेषण करता है और रिपोर्ट तैयार करता है, जो हर फ़ाइल, मॉड्यूल या यहाँ तक कि कोड की अलग-अलग लाइनों के लिए कवरेज प्रतिशत दिखाती है।
Coverage.py की मुख्य विशेषताएँ
Coverage.py कोड कवरेज विश्लेषण के लिए कई सुविधाएँ प्रदान करता है:
लाइन कवरेज मापन — बुनियादी फीचर जो ट्रैक करता है कि टेस्टिंग के दौरान कोड की कौन सी लाइनें execute हुईं।
ब्रांच विश्लेषण — उन्नत फीचर जो जाँचता है कि कंडीशनल स्टेटमेंट्स (if, elif, else) में सभी संभावित execution पथ कवर हुए या नहीं।
रिपोर्ट जनरेशन — टेक्स्ट, HTML, XML और JSON जैसे विभिन्न फॉर्मेट में विस्तृत रिपोर्ट तैयार करना।
फ्रेमवर्क इंटीग्रेशन — pytest, unittest, nose जैसे लोकप्रिय टेस्टिंग फ्रेमवर्क के साथ seamless काम करता है।
एक्सक्लूज़न सेटिंग — कवरेज विश्लेषण से कुछ फ़ाइलों, फ़ोल्डरों या लाइनों को बाहर करने की सुविधा।
इंस्टॉलेशन और शुरुआती सेटअप
स्टैंडर्ड इंस्टॉलेशन
Coverage.py इंस्टॉल करने के लिए pip का उपयोग करें:
pip install coverage
अतिरिक्त सुविधाओं के साथ इंस्टॉलेशन
अगर आप pytest के साथ काम करते हैं, तो pytest-cov प्लगइन इंस्टॉल करने की सलाह दी जाती है:
pip install pytest-cov
toml कॉन्फ़िगरेशन फ़ाइलों के लिए:
pip install coverage[toml]
इंस्टॉलेशन की जाँच
इंस्टॉलेशन के बाद, सुनिश्चित करें कि Coverage.py सही से काम कर रहा है:
coverage --version
मुख्य कमांड और उनका उपयोग
कवरेज विश्लेषण चलाना
Python स्क्रिप्ट के लिए बेसिक कवरेज विश्लेषण:
coverage run my_script.py
अतिरिक्त पैरामीटर के साथ चलाना:
coverage run --source=my_package my_script.py
unittest मॉड्यूल के साथ चलाना
coverage run -m unittest discover
pytest के साथ चलाना
coverage run -m pytest
या pytest-cov का उपयोग करके:
pytest --cov=my_module tests/
कवरेज रिपोर्ट देखना
टर्मिनल में टेक्स्ट रिपोर्ट
coverage report
आउटपुट का उदाहरण:
Name Stmts Miss Cover
----------------------------------------
my_module.py 25 3 88%
utils.py 15 0 100%
main.py 20 5 75%
----------------------------------------
TOTAL 60 8 87%
मिस हुई लाइनों सहित विस्तृत रिपोर्ट
coverage report --show-missing
HTML रिपोर्ट
coverage html
कमांड चलाने के बाद, इंटरैक्टिव रिपोर्ट देखने के लिए ब्राउज़र में htmlcov/index.html फ़ाइल खोलें।
CI/CD के लिए XML रिपोर्ट
coverage xml
JSON रिपोर्ट
coverage json
कवरेज डेटा प्रबंधन
डेटा साफ़ करना
पुस्तकालय में भी
C# (.NET) में लॉगिंग: सर्वश्रेष्ठ समाधानों और लाइब्रेरियों का अवलोकन
Livewire PHP: पूरी गाइड उदाहरणों के साथ
Polly C# (.NET) पूरी गाइड: उदाहरणों के साथ हिंदी में
Kotlin में कार्य कतारें: Coroutines, Flow और पृष्ठभूमि प्रसंस्करण के लिए लाइब्रेरीज़
Swift (iOS/macOS) में PDF जनरेशन: UIGraphicsPDFRenderer, PDFKit और Core Graphics
अनुशंसाएँ