| س | أ
| -------------------- | ---------------
| إصدار PHPUnit | ~4.7.0 \|\| ~5.0.0 \|\| ~5.1.0 \|\| ~5.2.0
| إصدار PHP | غير مرتبط
| طريقة التثبيت | ملحن
تم إصدار PHP Timer v2. إنه غير متوافق مع PHPUnit المذكورة ، حيث تتطلب PHPUnit مع إصدار معين ... >= 1
بدلاً من ^1
. لذلك ، سيتعطل أي تثبيت جديد لوحدة PHPUnit (في مشروع قديم) أثناء التنفيذ مع:
https://travis-ci.org/PHPUnitGoodPractices/Traits/jobs/341148960#L978
خطأ فادح في PHP: خطأ لم يتم اكتشافه: الفئة 'PHP_Timer' غير موجودة في / home / travis / build / PHPUnitGoodPractices / السمات / البائع / phpunit / phpunit / src / Framework / TestResult. فب: 577
سيصيب بشكل خاص مشاريع PHP القديمة التي لا تستطيع تحمل ترقية PHPUnit مباشرة.
نعم ، أنا أعلم أنه سيتم اعتبار هذا الأمر على أنه إصدار غير مُحتفظ به ومن أجل ذلك يمكن إغلاقه خارج منطقة الجزاء ، ومع ذلك فقد تم إصدار php-timer major في النهاية.
حل للمستخدمين الحزينين لإصدارات PHPUnit القديمة المتأثرة:
أضف إلى composer.json
:
"conflict": {
"phpunit/php-timer": ">=2",
}
سيؤدي هذا بشكل أساسي إلى جعل PHPUnit reuument لـ php-timer ^ 1 ، كما هو الحال في إصدارات PHPUnit الأخرى
للأسف PHPUnit 4.7 لديها "phpunit/php-timer": ">=1.0.6"
في composer.json
. ومع ذلك ، تم استبدال PHPUnit 4.7 بـ PHPUnit 4.8 منذ فترة طويلة. لا يوجد سبب لعدم التحديث من PHPUnit 4.7 إلى PHPUnit 4.8. PHPUnit 4.8 بها "phpunit/php-timer": "^1.0.6"
في composer.json
.
لقد ذكرت أيضًا PHPUnit 5.0 و PHPUnit 5.1 و PHPUnit 5.2. كل هذه الإصدارات بها "phpunit/php-timer": "^1.0.6"
في composer.json
.
ماذا تتوقع مني أن أفعل هنا؟ قم بتحرير إصدار جديد من PHPUnit 4.7 يحتوي على تحديث composer.json
؟ آسف ، لكن هذا لن يحدث. الحل الذي قدمته في https://github.com/sebastianbergmann/phpunit/issues/3008#issuecomment -365430405 يجب أن يكون جيدًا بدرجة كافية. بالطبع ، سيكون الحل الصحيح هو التحديث إلى PHPUnit 4.8 على الأقل أو استخدام PHAR من PHPUnit 4.7.
لقد ذكرت أيضًا PHPUnit 5.0 و PHPUnit 5.1 و PHPUnit 5.2. كل هذه الإصدارات لها "phpunit / php-timer": "^ 1.0.6" في composer.json.
لا ، 5.2.x-dev
لديه phpunit/php-timer: ^1.0.6
،
ولكن آخر إصدار مستقر يبلغ 5.2 ،
5.2.12
لديه phpunit/php-timer: >=1.0.6
بالنسبة لذلك 5.0.x و 5.1.x و 5.2.x تتأثر أيضًا.
تم إطلاق PHP Timer للتو ، وأدت حقيقة الإصدار إلى مشكلة في PHPUnit القديمة التي ضربت بشدة في شركتي والمشاريع الجانبية ، لذلك كان الغرض من هذا الموضوع هو إثارة المشكلة (بحيث يمكن العثور عليها من قبل المستخدمين الذين قاموا أيضًا بضربها) وتقديمها الحل الممكن.
كما قلت في المنشور الأولي ، لا أتوقع إصدارًا جديدًا من phpunit 4/5. شكرا!
التعليق الأكثر فائدة
حل للمستخدمين الحزينين لإصدارات PHPUnit القديمة المتأثرة:
أضف إلى
composer.json
:سيؤدي هذا بشكل أساسي إلى جعل PHPUnit reuument لـ php-timer ^ 1 ، كما هو الحال في إصدارات PHPUnit الأخرى