أداة للسماح بتحديد قواعد تغطية التعليمات البرمجية لكل ملف. قم بتعيين الحد الأدنى للتغطية لكل ملف وقم بتكوين الحد الأدنى المخصص للتغطية للملفات الموجودة إذا كانت تغطية الاختبار الحالية لا ترقى إلى المعايير حتى الآن. سيتم إخراج فشل الاستقصاء بتنسيق checkstyle، مما يسمح باستيراده في أدوات ci/cd.
يتم حساب التغطية القياسية على قاعدة التعليمات البرمجية بأكملها. على سبيل المثال، إذا كانت العتبة 80% وانخفض ملف واحد إلى أقل من 80% فلن تلاحظ ذلك أبدًا لأن التغطية الإجمالية انتقلت من 87.6% إلى 87.4%. تتأكد هذه الحزمة من عدم حدوث ذلك بعد الآن ويتم حساب التغطية على أساس كل ملف.
الإدخال: تغطية البرسيم.xml
الإخراج: checkstyle أو gitlab
قم بتضمين المكتبة كتبعية في مشروعك الخاص عبر:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
الملف: phpfci.xml
<?xml version="1.0" encoding="UTF-8"?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= "100"allow-uncovered-methods="false"> <custom-coverage><!-- قاعدة التغطية المستندة إلى الدليل --><directory path="src/Lib/" min="90"/><!-- ستحل الدلائل الفرعية محل قاعدة الدليل الأصلية --><مسار الدليل ="src/Lib/Config/" min="100"/><!-- ستحل قاعدة الملف دائمًا محل قاعدة الدليل --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- عند تعيين "allow-uncovered-methods" على "خطأ"، قم بتجاوز هذا السلوك لملفات محددة: --><ignore-uncovered-methods> < مسار الملف = "src/Command/ExampleCommand.php"/> </ignore-uncovered-methods> </phpfci>
خيار | مطلوب | تقصير | وصف |
---|---|---|---|
الحد الأدنى من التغطية | نعم | - | الحد الأدنى من التغطية العالمية |
السماح بالطرق غير المكشوفة | لا | خطأ شنيع | يجب أن تحتوي جميع الطرق على بعض التغطية على الأقل |
أو قم بإنشاء ملف تكوين بناءً على نتائج التغطية الحالية
PHP بائع/bin/phpfci baseline --baseDir /home/ci/workspacecovering.xml ./phpfci.xml
سيتم طرح الدليل الأساسي من مسارات الملفات في Cover.xml
تنسيق نمط الاختيار:
PHP البائع/bin/phpfci فحص التغطية.xml --reportCheckstyle=reports/checkstyle.xml
تنسيق جيتلاب:
يقوم بائع PHP/bin/phpfci بفحص التغطية.xml --reportGitlab=reports/gitlab.errors.json
تنسيق Gitlab للملف وإخراج النص إلى stdout:
يقوم بائع PHP/bin/phpfci بفحص التغطية.xml --reportGitlab=reports/gitlab.errors.json --reportText
تنسيق النص إلى stdout:
PHP البائع/bin/phpfci فحص التغطية.xml يقوم بائع PHP/bin/phpfci بفحص التغطية 1.xml التغطية 2.xml
PHP البائع/bin/phpfci فحص التغطية.xml --reportText
خيار | قيم | وصف |
---|---|---|
argument 1 | inspect ، baseline | الأمر للتنفيذ. |
argument 2 [ argument 3 ] ... | coverage.xml [ coverage2.xml ] | ملف (ملفات) إدخال تغطية phpunit Clover. |
--reportGitlab=[<file>] | filepath أو في حالة غياب stdout | الملف (أو stdout) لكتابة تنسيق gitlab إليه. |
--reportCheckstyle=[<file>] | filepath أو في حالة غياب stdout | الملف (أو stdout) لكتابة تنسيق checkstyle إليه. |
--reportText=[<file>] | filepath أو في حالة غياب stdout | الملف (أو stdout) لكتابة تنسيق checkstyle إليه. |
--config=<path-to-file> | phpfci.xml | المسار إلى ملف التكوين. |
--baseDir=<path> | الإعدادات الافتراضية لدليل ملف الإخراج | سيتم استخدام الدليل الجذر للمشروع لجعل المسارات نسبية. |
--exit-code-on-failure | - | اضبط رمز الخروج على 1 عند حدوث أعطال. |
ملاحظة: إذا لم يتم تعيين --reportGitlab
أو --reportCheckstyle
أو --reportText
، فسيتم تعيينه افتراضيًا على --reportText=php://stdout
تمت إزالة الوسيطة الثالثة المطلوبة و-- --report
، ويجب استبدالهما بـ: --reportGitlab=<file>
أو --reportCheckstyle=<file>
أو --reportText=<file>
في 123inkt (جزء من Digital Revolution BV)، يعمل كل يوم أكثر من 50 متخصصًا في التطوير على تحسين نظام تخطيط موارد المؤسسات (ERP) الداخلي لدينا ومتاجرنا المتعددة. هل تريد الانضمام إلينا؟ نحن نبحث عن المطورين.