إطار اختبار WP-CLI
روابط سريعة: استخدام | المساهمة | يدعم
للاستفادة من إطار عمل اختبار WP-CLI، يتعين عليك إكمال الخطوات التالية من داخل الحزمة التي تريد إضافتها إليها:
أضف إطار الاختبار كشرط للتطوير:
composer require --dev wp-cli/wp-cli-tests
أضف نصوص الاختبار المطلوبة إلى ملف composer.json
:
"scripts" : {
"behat" : " run-behat-tests " ,
"behat-rerun" : " rerun-behat-tests " ,
"lint" : " run-linter-tests " ,
"phpcs" : " run-phpcs-tests " ,
"phpcbf" : " run-phpcbf-cleanup " ,
"phpunit" : " run-php-unit-tests " ,
"prepare-tests" : " install-package-tests " ,
"test" : [
" @lint " ,
" @phpcs " ,
" @phpunit " ,
" @behat "
]
}
يمكنك بالطبع إزالة تلك التي لا تحتاج إليها.
يمكنك اختياريًا إضافة مهلة معالجة معدلة إلى ملف composer.json
للتأكد من إمكانية تشغيل البرامج النصية حتى اكتمال عملها:
"config" : {
"process-timeout" : 1800
},
يتم التعبير عن المهلة بالثواني.
اختياريًا، قم بإضافة ملف behat.yml
إلى جذر الحزمة بالمحتوى التالي:
default :
suites :
default :
contexts :
- WP_CLITestsContextFeatureContext
paths :
- features
سيؤدي هذا إلى التأكد من أن نظام Behat الآلي يعمل عبر جميع الأنظمة الأساسية. هذا مطلوب على نظام التشغيل Windows.
يمكنك اختياريًا إضافة ملف phpcs.xml.dist
إلى جذر الحزمة لتمكين نمط التعليمات البرمجية والتحقق من أفضل الممارسات باستخدام PHP_CodeSniffer.
مثال على الحد الأدنى من مجموعة القواعد المخصصة بناءً على الإعدادات الافتراضية المحددة في إطار عمل اختبار WP-CLI:
<? xml version = " 1.0 " ?>
< ruleset name = " WP-CLI-PROJECT-NAME " >
< description >Custom ruleset for WP-CLI PROJECT NAME</ description >
<!-- What to scan. -->
< file >.</ file >
<!-- Show progress. -->
< arg value = " p " />
<!-- Strip the filepaths down to the relevant bit. -->
< arg name = " basepath " value = " ./ " />
<!-- Check up to 8 files simultaneously. -->
< arg name = " parallel " value = " 8 " />
<!-- For help understanding the `testVersion` configuration setting:
https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
< config name = " testVersion " value = " 5.4- " />
<!-- Rules: Include the base ruleset for WP-CLI projects. -->
< rule ref = " WP_CLI_CS " />
</ ruleset >
جميع خيارات تكوين PHPCS الأخرى متاحة بالطبع.
قم بتحديث تبعيات الملحن الخاص بك وأعد إنشاء أداة التحميل التلقائي والمجلدات الثنائية:
composer update
أنت الآن جاهز لاستخدام إطار الاختبار من داخل الحزمة الخاصة بك.
يمكنك استخدام الأوامر التالية للتحكم في الاختبارات:
composer prepare-tests
- قم بإعداد قاعدة البيانات اللازمة لتشغيل الاختبارات الوظيفية. هذا مطلوب مرة واحدة فقط.composer test
- تشغيل كافة مجموعات الاختبار.composer lint
- قم بتشغيل مجموعة اختبار الفحص فقط.composer phpcs
- قم بتشغيل مجموعة اختبار شم الكود فقط.composer phpcbf
- قم بتشغيل عملية تنظيف أداة شم الكود فقط.composer phpunit
- قم بتشغيل مجموعة اختبار الوحدة فقط.composer behat
- قم بتشغيل مجموعة الاختبار الوظيفي فقط.لإرسال وسيطة واحدة أو أكثر إلى إحدى أدوات الاختبار، ألحق الوسيطة (الوسائط) بشرطة مزدوجة. على سبيل المثال، إليك كيفية تشغيل الاختبارات الوظيفية لملف ميزة محدد فقط:
composer behat -- features/cli-info.feature
يلزم إضافة شرطة مزدوجة لأنه سيتم إرسال الوسيطات إلى Composer نفسه، وليس إلى الأداة التي ينفذها Composer.
يمكنك إجراء الاختبارات على إصدار معين من WordPress عن طريق تعيين متغير البيئة WP_VERSION
.
يفهم هذا المتغير أي إصدار رقمي، بالإضافة إلى المصطلحات الخاصة latest
trunk
.
ملاحظة: ينطبق هذا فقط على اختبارات Behat الوظيفية. جميع الاختبارات الأخرى لا تقوم بتحميل WordPress مطلقًا.
فيما يلي كيفية إجراء اختباراتك مقابل أحدث إصدار من WordPress:
WP_VERSION=trunk composer behat
يمكنك إجراء الاختبارات على ثنائي WP-CLI محدد، بدلاً من استخدام الملف الذي تم إنشاؤه في مجلد vendor/bin
المشروع الخاص بك.
قد يكون هذا مفيدًا لإجراء اختباراتك على إصدار Phar محدد من WP_CLI.
للقيام بذلك، يمكنك ضبط متغير البيئة WP_CLI_BIN_DIR
للإشارة إلى مجلد يحتوي على ملف wp
ثنائي قابل للتنفيذ. ملحوظة: يجب تسمية الملف الثنائي باسم wp
حتى يتم التعرف عليه بشكل صحيح.
على سبيل المثال، إليك كيفية تشغيل اختباراتك مقابل إصدار Phar محدد قمت بتنزيله.
# Prepare the binary you've downloaded into the ~/wp-cli folder first.
mv ~ /wp-cli/wp-cli-1.2.0.phar ~ /wp-cli/wp
chmod +x ~ /wp-cli/wp
WP_CLI_BIN_DIR= ~ /wp-cli composer behat
القواعد الأساسية لإعداد إطار الاختبار باستخدام Travis CI:
composer prepare-tests
مرة واحدة لكل بيئة.linting and sniffing
تحليلًا ثابتًا، لذا لا ينبغي أن يعتمد على أي بيئة محددة. يجب عليك القيام بذلك مرة واحدة فقط، كمرحلة منفصلة، بدلاً من كل بيئة.composer behat || composer behat-rerun
يؤدي composer behat || composer behat-rerun
إلى تشغيل اختبارات Behat بالكامل أولاً، وفي حالة فشل السيناريوهات الخاصة بها، يتم إجراء التشغيل الثاني باستخدام السيناريوهات الفاشلة فقط. يؤدي هذا عادةً إلى التغلب على المشكلات المتقطعة مثل المهلات أو ما شابه ذلك.فيما يلي إعداد أساسي لكيفية تكوين Travis CI للعمل مع إطار عمل الاختبار (مستخرج):
install :
- composer install
- composer prepare-tests
script :
- composer phpunit
- composer behat || composer behat-rerun
jobs :
include :
- stage : sniff
script :
- composer lint
- composer phpcs
env : BUILD=sniff
- stage : test
php : 7.2
env : WP_VERSION=latest
- stage : test
php : 7.2
env : WP_VERSION=3.7.11
- stage : test
php : 7.2
env : WP_VERSION=trunk
يمكنك توجيه الاختبارات إلى إصدار محدد من WP-CLI من خلال الثابت WP_CLI_BIN_DIR
:
WP_CLI_BIN_DIR= ~ /my-custom-wp-cli/bin composer behat
إذا كنت تريد إجراء اختبارات الميزات على إصدار محدد من WordPress، فيمكنك استخدام الثابت WP_VERSION
:
WP_VERSION=4.2 composer behat
يتعرف ثابت WP_VERSION
أيضًا على latest
والخط trunk
كأهداف إصدار صالحة.
افتراضيًا، يتم تشغيل الاختبارات في قاعدة بيانات باسم wp_cli_test
مع المستخدم المسمى أيضًا wp_cli_test
بكلمة مرور password1
. يجب أن يتم إعداد ذلك من خلال أمر composer prepare-tests
.
يمكن تعيين متغيرات البيئة التالية لتجاوز بيانات اعتماد قاعدة البيانات الافتراضية.
WP_CLI_TEST_DBHOST
هو المضيف المطلوب استخدامه ويمكن أن يتضمن منفذًا، على سبيل المثال "127.0.0.1:33060" (الإعداد الافتراضي هو "المضيف المحلي")WP_CLI_TEST_DBROOTUSER
هو المستخدم الذي لديه إذن لإدارة قواعد البيانات والمستخدمين (الإعداد الافتراضي هو "الجذر").WP_CLI_TEST_DBROOTPASS
هي كلمة المرور التي سيتم استخدامها للمستخدم أعلاه (الإعدادات الافتراضية هي كلمة مرور فارغة).WP_CLI_TEST_DBNAME
هي قاعدة البيانات التي يتم تشغيل الاختبارات ضمنها (الإعداد الافتراضي هو "wp_cli_test").WP_CLI_TEST_DBUSER
هو المستخدم الذي يتم تشغيل الاختبارات ضمنه (القيمة الافتراضية هي "wp_cli_test").WP_CLI_TEST_DBPASS
هي كلمة المرور التي سيتم استخدامها للمستخدم أعلاه (الإعدادات الافتراضية هي "password1").WP_CLI_TEST_DBTYPE
هو نوع محرك قاعدة البيانات المطلوب استخدامه، أي "sqlite" لإجراء الاختبارات على SQLite بدلاً من MySQL (الإعداد الافتراضي هو "mysql"). يمكن تعيين متغيرات البيئة للجلسة بأكملها عبر الصيغة التالية: export WP_CLI_TEST_DBNAME=custom_db
.
يمكن أيضًا تعيينها لتنفيذ واحد عن طريق وضعها مسبقًا قبل أمر Behat: WP_CLI_TEST_DBNAME=custom_db composer behat
.
نحن نقدر لك أخذ زمام المبادرة للمساهمة في هذا المشروع.
لا تقتصر المساهمة على التعليمات البرمجية فقط. نحن نشجعك على المساهمة بالطريقة التي تناسب قدراتك، من خلال كتابة البرامج التعليمية، أو تقديم عرض توضيحي في اجتماعك المحلي، أو مساعدة المستخدمين الآخرين في الإجابة على أسئلة الدعم الخاصة بهم، أو مراجعة وثائقنا.
للحصول على مقدمة أكثر شمولاً، راجع دليل WP-CLI للمساهمة. تتبع هذه الحزمة تلك السياسات والإرشادات.
هل تعتقد أنك وجدت خطأ؟ نحن نحب أن تساعدنا في إصلاحه.
قبل إنشاء مشكلة جديدة، يجب عليك البحث عن المشكلات الموجودة لمعرفة ما إذا كان هناك حل موجود لها، أو إذا تم إصلاحها بالفعل في إصدار أحدث.
بعد إجراء القليل من البحث واكتشاف عدم وجود مشكلة مفتوحة أو ثابتة لخللك، يرجى إنشاء مشكلة جديدة. قم بتضمين أكبر قدر ممكن من التفاصيل، وخطوات واضحة لإعادة إنتاجها إن أمكن. لمزيد من الإرشادات، راجع وثائق تقرير الأخطاء لدينا.
هل تريد المساهمة بميزة جديدة؟ الرجاء أولاً فتح مشكلة جديدة لمناقشة ما إذا كانت الميزة مناسبة للمشروع أم لا.
بمجرد أن تقرر تخصيص الوقت الكافي لرؤية طلب السحب الخاص بك، يرجى اتباع إرشاداتنا لإنشاء طلب سحب للتأكد من أنها تجربة ممتعة. راجع "الإعداد" للحصول على تفاصيل خاصة بالعمل على هذه الحزمة محليًا.
لا تتعلق مشكلات GitHub بأسئلة الدعم العامة، ولكن هناك أماكن أخرى يمكنك تجربتها: https://wp-cli.org/#support