سؤال

تشغيل اختبارات الماجنتو لاستخدام php bin/magento dev:tests:run يستغرق الكثير من الوقت.
هل هناك طريقة لتشغيل الاختبارات لوحدة محددة فقط?

أنا مستجد في اختبار (الوحدة)لذا ارحم.

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

المحلول

يستخدم Magento 2 إطار عمل phpunit لإجراء الاختبار.يمكنك إجراء اختبار لكل نوع ووحدة باستخدام الأمر:

{phpunit_executable} -c {Magentoroot}/dev/test/{type}/phpunit.xml[.dist] path/to/module/test/dir

على سبيل المثال:

  • يهرب وحدة اختبار ل فهرس, ، تحتاج إلى تشغيل الأمر

    vendor/phpunit/phpunit/phpunit -c dev/tests/unit/phpunit.xml.dist app/code/Magento/Catalog/Test/Unit/

  • يهرب اندماج اختبار ل فهرس, ، تحتاج إلى تشغيلvendor/phpunit/phpunit/phpunit -c dev/tests/integration/phpunit.xml.dist dev/tests/integration/testsuite/Magento/Catalog

حاليًا تم نقل اختبار الوحدة فقط إلى الوحدات النمطية.يعمل أيضًا اختبار التكامل الثابت والتكامل مع جميع أكواد الماجنتو.

نصائح أخرى

طبقات الجواب كاندي مثل الطريق للذهاب ، ولكن في الوقت نفسه وجدت طريقة سريعة وقذرة للقيام بذلك.

نسخ dev/tests/unit/phpunit.xml.dist إلى dev/tests/unit/phpunit.xml واستبدال

<directory suffix="Test.php">../../../app/code/*/*/Test/Unit</directory>

مع

<directory suffix="Test.php">../../../app/code/[Namespace]/[Module]/Test/Unit</directory>  

والتعليق على الآخر directory العلامات داخل <testsuite> الوسم.

عند الانتهاء ، قم بإعادة التغييرات أو إزالتها phpunit.xml.

فقط لإضافة ذلك باستخدام Phpstorm IDE، يمكنك تحديد تكوين الاختبار لوحدة التشغيل الخاصة بك وتشغيله بشكل منفصل. إجراء الاختبارات في phpstorm

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