उचित तरीके से चयनित जवाब पता चलता है बस के रूप में हमेशा Makefile.PL/Build.PL के साथ शुरू करना है। लेकिन, कभी कभी आप एक है जो बाहर शुरू कर दिया नहीं हैं, इसलिए ...
मैं एक नकली makefile बनाने के लिए इस्तेमाल:
% cat Makefile
test:
prove -Ilib -r t
निम्नलिखित भी लगता है (काम करने के लिए/डिस्क पर किसी भी फाइल को छू ओ डब्ल्यू):
cover -t -make 'prove -Ilib -r t; echo >/dev/null'
यह एक बदसूरत हैक तथापि है और अगर कवर लेखकों अधिक सख्ती से बनाओ का विकल्प उद्धृत करने के लिए तय काम करना बंद कर सकते हैं। इसके अलावा यह खिड़कियों के नीचे काम नहीं करना चाहिए। मेरी इच्छा है कि cover
के बजाय -prove
विकल्प था।
यह अभी भी गैर-मानक स्थानों पर * .t के साथ ही सीपीएएन मॉड्यूल के लिए कवरेज उत्पन्न करता है। यह व्यवहार का उपयोग कर ठीक किया जा सकता + चयन/+ उपेक्षा विकल्प (Devel::Cover's manpage देखें):
cover -t +select ^lib +ignore^
तो tl; डॉ "जादू" कमांड
cover -t +select ^lib +ignore^-make 'prove -Ilib -r t; exit $?'
संपादित निम्नलिखित नहीं किया है
PERL5OPT="$PERL5OPT -MDevel::Cover" prove -Ilib -r t
cover -t +select ^lib +ignore^
कि नोट prove -MSomething
Something
पर लागू होता है: - मेरे लिए काम यह केवल संक्षिप्त सारांश प्रिंटस्वयं और इसे पास नहीं करता है (आईआई के विपरीत)।
यह एक वितरण योग्य परियोजना नहीं है। * .pm और "टी" कोई मेकफ़ाइल से भरा एक निर्देशिका "lib" है। –
@ बेरोव, मेरे पास एक ही समस्या थी और डेक्सिम का सुझाव सही है। आप अभी भी अपनी परियोजना में कंकाल Makefile.PL या Build.PL जोड़ सकते हैं और फिर अपनी कवरेज रिपोर्ट प्राप्त कर सकते हैं। अगर यह मदद करता है, तो मैंने डेवेल :: कवर के लेखक से संपर्क किया और उसने पुष्टि की कि यह इसके बारे में जाने का तरीका है। – oalders
आश्चर्यजनक रूप से यह ठीक काम किया। मैंने एक नंगे हड्डियों को बनाया है Makefile.PL, कवर -टेस्ट चलाया, और अब मेरे पास फ़ोल्डर cover_db फ़ोल्डर में HTML पृष्ठों का एक संपूर्ण सेट है। जो अनुमान लगाएगा कि यह इतना आसान होगा .... बहुत बहुत धन्यवाद। –