سؤال

هل هناك أي أدوات تغطية رمز جيدة (ويفضل أن تكون مجانية) موجودة لبيرل؟

هل كانت مفيدة؟

المحلول

نعم، Devel :: Cover هو الطريق للذهاب.

إذا قمت بتطوير وحدة ، واستخدمت الوحدة النمطية :: بناء لإدارة التثبيت ، لديك حتى testcover استهداف:

 perl Build.PL
 ./Build testcover

هذا يدير جناح الاختبار بأكمله ، ويقدم تقرير تغطية مشترك في HTML لطيف ، حيث يمكنك تصفح الوحدات النمطية الخاصة بك ومشاهدة تغطيتها.

نصائح أخرى

كالعادة ، CPAN هو صديقك: ألق نظرة على Devel :: Cover

كما لوحظ ، فإن Devel :: Cover هو صديقك ، لكنك ستحتاج إلى Google لذلك أيضًا. إنها الوثائق متناثرة بعض الشيء ، وإذا قمت بتغيير بيئتك بشكل جذري ، فستحتاج إلى إعادة تثبيتها لأنها تبني Devel :: Cover :: Inc مع مجموعة من المعلومات التي تم سحبها من بيئتك في الوقت الذي تقوم فيه بتثبيته. لقد تسبب هذا في الكثير من المشكلات بالنسبة لنا في العمل لأن لدينا بيئة CPAN المشتركة ، وإذا قام أحد المطورين بتثبيت Devel :: Cover ومطور مختلف يحاول تشغيله ، والنتائج الغريبة (وغير الصحيحة) شائعة.

إذا كنت تستخدم هذه الوحدة ، تحقق أيضًا من devel :: coverx :: مغطى. سوف تلتقط هذه الوحدة الكثير من المعلومات التي تتخلص منها :: تغطية. إنه مفيد للغاية.

يناقش Moritz كيف يمكن للوحدات النمطية المصممة باستخدام الوحدة النمطية :: Build استخدام Devel :: تغطية بسهولة.

بالنسبة للوحدات النمطية التي تستخدم extutils :: makemaker ، توجد وحدة تمديد لاستدعاء نفس الوظيفة. إضافة الرمز التالي قبل المكالمة إلى WriteMakeFile ():

eval "use ExtUtils::MakeMaker::Coverage";
if( !$@ ) {
    print "Adding testcover target\n";
}

... سيسمح للمرء بتشغيل الأمر "Make Testcover" ولديه Devel :: Cover أداء سحره.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top