2008-10-23 19 views

उत्तर

21

हाँ पर एक नज़र डालें, Devel::Cover जाने का रास्ता है।

perl Build.PL 
./Build testcover 

कि पूरे टेस्ट स्वीट चलाता है, और बनाता है अच्छा एचटीएमएल, जहां में एक संयुक्त कवरेज की रिपोर्ट:

आप एक मॉड्यूल विकसित करने, और Module::Build का उपयोग स्थापना के प्रबंधन के लिए हैं, तो आप भी एक testcover लक्ष्य है आप अपने मॉड्यूल के माध्यम से ब्राउज़र कर सकते हैं और अपना कवरेज देख सकते हैं।

28

हमेशा की तरह, CPAN अपने दोस्त है: Devel::Cover

+0

कृपया एक मॉड्यूल के एक विशिष्ट संस्करण से लिंक न करें। Http://search.cpan.org/perldoc?Devel:: इसके बजाए इसके बजाए आज़माएं। – cjm

+0

बेहतर अभी भी, http://search.cpan.org/dist/Devel-Cover/ –

+0

का उपयोग करें उत्कृष्ट सुझाव! फिक्स्ड। –

11

जैसा कि उल्लेख किया गया है, डेवेल :: कवर आपका मित्र है, लेकिन आप इसके लिए भी Google पर जाना चाहेंगे। यह दस्तावेज थोड़ा सा स्पैस है और यदि आप अपने पर्यावरण को मूल रूप से बदलते हैं, तो आपको इसे पुनर्स्थापित करने की आवश्यकता होगी क्योंकि यह आपके द्वारा इंस्टॉल किए जाने पर आपके पर्यावरण से खींची गई जानकारी के समूह के साथ डेवेल :: कवर :: इंक बनाता है। इससे हमारे लिए काम पर बहुत सारी समस्याएं आई हैं क्योंकि हमारे पास एक साझा सीपीएएन पर्यावरण है और यदि कोई डेवलपर डेवेल :: कवर स्थापित करता है और एक अलग डेवलपर इसे चलाने की कोशिश करता है, तो अजीब (और गलत) परिणाम आम हैं।

यदि आप इस मॉड्यूल का उपयोग करते हैं, तो Devel::CoverX::Covered देखें। यह मॉड्यूल उस जानकारी को अधिकतर कैप्चर करेगा जो डेवेल :: कवर फेंकता है। यह बहुत आसान है।

5

मोरित्ज़ चर्चा करता है कि मॉड्यूल :: बिल्ड के साथ बनाए गए मॉड्यूल कैसे आसानी से डेवेल :: कवर का उपयोग कर सकते हैं।

ExtUtils :: MakeMaker का उपयोग करके मॉड्यूल के लिए, एक एक्सटेंशन मॉड्यूल एक ही कार्यक्षमता का आह्वान करने के लिए मौजूद है। WriteMakefile() करने के लिए कॉल करने से पहले निम्न कोड जोड़ना:

eval "use ExtUtils::MakeMaker::Coverage"; 
if([email protected]) { 
    print "Adding testcover target\n"; 
} 

... एक आदेश चलाने की अनुमति दे 'testcover बनाने' और Devel :: कवर अपना जादू प्रदर्शन करना होगा।

संबंधित मुद्दे