سيؤدي هذا الإجراء إلى إنتاج تقرير HTML لتغطية PHPUnit، ونشره باستخدام ZEIT Now، وفرض الحد الأدنى من مستوى التغطية.
now_token
(مطلوب) رمز ZEIT Now الخاص بك - يستخدم لنشر التقارير.
now_project
(اختياري) أي مشروع ZEIT Now سيتم نشر التقارير إليه.
min_coverage
(اختياري) الحد الأدنى للتغطية المطلوب فرضها (الافتراضي هو 50
).
phpunit
(اختياري) أمر phpunit (الأمر الافتراضي هو ./vendor/bin/phpunit
).
url
عنوان URL للنشر من ZEIT Now مع تقرير التغطية.
إليك كيفية استخدام هذا الإجراء في مشروع PHP مثل Laravel. بافتراض أن الريبو الخاص بك يحتوي على سر NOW_TOKEN
مع رمز ZEIT Now المميز الخاص بك، كل ما عليك فعله هو إعداد PHP (مع برنامج تشغيل التغطية)، بالإضافة إلى تثبيت تبعيات الملحن.
on : [push]
jobs :
main :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- uses : shivammathur/setup-php@master
with :
coverage : pcov
php-version : ' 7.4 '
extension : dom, fileinfo, mbstring
- run : |
composer install --no-suggest --prefer-dist --optimize-autoloader
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
- uses : theomessin/action-phpcov
with :
min_coverage : 35
now_project : " action-phpcov "
now_token : ${{ secrets.NOW_TOKEN }}
phpunit : " ./vendor/bin/phpunit --testdox "
سيؤدي هذا إلى إخراج رسالة مثل هذه:
PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
Example (TestsUnitExample)
Basic test
Example (TestsFeatureExample)
Basic test
Time: 160 ms, Memory: 18.00 MB
OK (2 tests, 2 assertions)
Generating code coverage report in Clover XML format ... done [10 ms]
Generating code coverage report in HTML format ... done [20 ms]
[Actual coverage is 44.23%. Minimum coverage is 35%]
▰▰▰▰▰▰▰▰▰▰▰▰▰▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱▱
You may find a full coverage report here:
https://action-phpcov.now.sh
إذا لم يتم استيفاء الحد الأدنى من التغطية، فسيفشل الإجراء.