ألن يكون رائعًا أن تتم إعادة تشغيل اختبارات PHPUnit تلقائيًا كلما قمت بتغيير بعض التعليمات البرمجية؟ هذه الحزمة يمكنها أن تفعل ذلك بالضبط.
مع تثبيت الحزمة، يمكنك القيام بذلك:
phpunit-watcher watch
وهنا كيف يبدو:
سيؤدي هذا إلى تشغيل الاختبارات وإعادة تشغيلها كلما تم تعديل ملف في دليل app
أو src
أو tests
.
هل تريد تمرير بعض الوسائط إلى PHPUnit؟ لا مشكلة، فقط ضعهم على:
phpunit-watcher watch --filter=it_can_run_a_single_test
في محاضرته الممتازة في Laracon EU 2017، يُظهر Amo Chohan مراقب phpunit الخاص بنا وهو يعمل.
نحن نستثمر الكثير من الموارد في إنشاء أفضل الحزم مفتوحة المصدر في فئتها. يمكنك دعمنا عن طريق شراء أحد منتجاتنا المدفوعة.
نحن نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها. ستجد عنواننا على صفحة الاتصال لدينا. ننشر جميع البطاقات البريدية المستلمة على جدار البطاقات البريدية الافتراضية لدينا.
يمكنك تثبيت هذه الحزمة عالميًا مثل هذا
composer global require spatie/phpunit-watcher
بعد ذلك يمكن تشغيل phpunit-watcher watch
في أي دليل على نظامك.
وبدلاً من ذلك، يمكنك تثبيت الحزمة محليًا باعتبارها تبعية للتطوير في مشروعك
composer require spatie/phpunit-watcher --dev
تم تثبيته محليًا ويمكنك تشغيله باستخدام vendor/bin/phpunit-watcher watch
تفترض جميع الأمثلة أنك قمت بتثبيت الحزمة عالميًا. إذا اخترت التثبيت المحلي vendor/bin/
في كل مكان حيث تم ذكر phpunit-watcher
.
يمكنك بدء المراقب بـ:
phpunit-watcher watch
سيؤدي هذا إلى تشغيل الاختبارات وإعادة تشغيلها كلما تم تعديل ملف في دليل src
أو tests
.
هل تريد تمرير بعض الوسائط إلى PHPUnit؟ لا مشكلة، فقط ضعهم على:
phpunit-watcher watch --filter=it_can_run_a_single_test
عند تشغيل phpunit-watcher
من برنامج Composer، قد تحتاج إلى إعادة توجيه الإدخال حتى تعمل الأوامر التفاعلية وتعطيل المهلة الافتراضية:
{
"scripts" : {
"test:watch" : [
" Composer \ Config::disableProcessTimeout " ,
" phpunit-watcher watch < /dev/tty "
]
}
}
على نظام التشغيل Windows، لا يتم حاليًا دعم TTY، لذلك تم تعطيل أي تفاعل. أثناء مراقبة التغييرات، يجب توفير أي وسيطات لـ PHPUnit عند استدعاء phpunit-watcher
في البداية.
يمكن تعديل جوانب معينة من سلوك الأداة. يمكن تسمية ملف الخيارات باسم .phpunit-watcher.yml
أو phpunit-watcher.yml
أو phpunit-watcher.yml.dist
. ستبحث الأداة عن ملف بهذا الترتيب.
إذا لم يكن ملف التكوين موجودًا في دليل المشروع، فستتحقق الأداة من وجود الملف في أي من الدلائل الأصلية لدليل المشروع.
إليك بعض الأمثلة على المحتوى. تابع القراءة للحصول على شرح أكثر تفصيلاً لجميع الخيارات.
watch :
directories :
- src
- tests
fileMask : ' *.php '
notifications :
passingTests : false
failingTests : false
phpunit :
binaryPath : vendor/bin/phpunit
arguments : ' --stop-on-failure '
timeout : 180
يمكنك تخصيص الأدلة التي تتم مراقبتها عن طريق إنشاء ملف باسم .phpunit-watcher.yml
في دليل المشروع الخاص بك. إليك بعض الأمثلة على المحتوى:
watch :
directories :
- src
- tests
exclude :
- lib
fileMask : ' *.php '
ignoreDotFiles : true
ignoreVCS : true
ignoreVCSIgnored : false
راجع وثائق Finder لمزيد من التفاصيل.
إذا واجهت تأخيرات في الأداء مع المستودعات الكبيرة، فحاول إضافة إدخالات exclude
لأي أدلة فرعية كبيرة لا تحتاج إلى مراقبتها. يمكن أن يكون تمكين خيارات ignore...
مفيدًا أيضًا. من المهم أيضًا التأكد من أنك تستخدم أيضًا قناع الملف '*.php'
.
افتراضيًا، ستعرض الأداة إشعارات سطح المكتب عند نجاح الاختبارات أو فشلها. إذا كنت تريد تعطيل بعض إشعارات سطح المكتب، فقم بتحديث .phpunit-watcher.yml
عن طريق إضافة مفتاح notifications
.
notifications :
passingTests : false
failingTests : false
بشكل افتراضي، ستعرض الأداة مساعدًا لإجراءات لوحة المفاتيح بعد كل تشغيل. يمكنك إخفاء رسائل المساعدة هذه عن طريق إضافة مفتاح hideManual
في ملف .phpunit-watcher.yml
.
hideManual : true
بشكل افتراضي، تستخدم الأداة vendor/bin/phpunit
كملف PHPUnit الثنائي الافتراضي، ومع ذلك، قد يكون من المفيد أن تكون قادرًا على تخصيص هذه القيمة للأشخاص الذين لديهم ملف ثنائي في موقع مختلف.
يمكنك تحديده في ملف التكوين .phpunit-watcher.yml
. هنا مثال:
phpunit :
binaryPath : ./vendor/phpunit/phpunit/phpunit
إذا كنت تريد استخدام تمرير نفس الوسائط إلى PHPUnit في كل مرة لبدء المراقبة، فيمكنك تحديد تلك الموجودة في ملف التكوين .phpunit-watcher.yml
. هنا مثال:
phpunit :
arguments : ' --stop-on-failure '
عند تشغيل الأداة باستخدام بعض الوسائط (مثل phpunit-watcher watch --filter=my_favourite_test
) سيتم استخدام هذه الوسائط بدلاً من تلك المحددة في ملف التكوين.
الرجاء مراجعة سجل التغيير لمزيد من المعلومات عما تغير مؤخرًا.
composer test
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
أنت حر في استخدام هذه الحزمة (وهي مرخصة من معهد ماساتشوستس للتكنولوجيا)، ولكن إذا كنت تستخدمها في كثير من الأحيان، فإننا نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها.
عنواننا هو: سباتي، كرويكسترات 22، 2018 أنتويرب، بلجيكا.
ننشر جميع البطاقات البريدية المستلمة على موقع شركتنا.
لقد بدأنا في إنشاء هذه الحزمة بعد قراءة هذا المقال الرائع الذي كتبه كريستوفر بيت
الأوامر التفاعلية مستوحاة من Jest.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.