Coverage.py: Python कोड टेस्ट कवरेज की जाँच

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

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

कवरेज डेटा प्रबंधन

डेटा साफ़ करना

                
    
    

अनुशंसाएँ