ترحيل المشروع إلى الإصدار الأحدث من PHPUnit.
[العمل قيد التقدم] استخدمه على مسؤوليتك الخاصة :)
استنساخ المشروع:
استنساخ $ git https://github.com/webimpress/phpunit-migration.git
انتقل إلى الدليل وقم بتثبيت التبعيات:
تثبيت الملحن $ cd phpunit-migration$
لتحديث مشروعك إلى الإصدار الأحدث من PHPUnit، انتقل إلى دليل مشروعك وقم بتشغيل:
$ ../path/to/phpunit-migration/bin/phpunit-migration migrate
إنشاء التبعيات لأحدث إصدارات PHPUnit،
PHPUnit_Framework_TestCase
إلى مساحة الاسم PHPUnitFrameworkTestCase
،
setExpectedException
expectException*
،
setUp
و tearDown
إلى الحالة protected
والصحيحة ( setup
=> setUp
وما إلى ذلك)،
FQCN في علامة @cover
(أي @covers MyClass
إلى @covers MyClass
)،
assertInternalType
و assertNotInternalType
إلى طريقة تأكيد أكثر تحديدًا (PHPUnit 7.5+)،
getMock
إلى getMockBuilder
مع استدعاءات الوظائف الأخرى المطلوبة (PHPUnit 5.4+)،
getMockBuilder(...)->...->getMock()
createMock(...)
إن أمكن (PHPUnit 5.4+)،
assertEquals()
و assertNotEquals()
مع معلمات $delta
و $maxDepth
و $canonicalize
و $ignoreCase
لطريقة تأكيد أكثر تحديدًا (PHPUnit 7.5+)،
أضف نوع الإرجاع الفارغ إلى الطرق التالية: setUp()
و tearDown()
و setUpBeforeClass()
و tearDownAfterClass()
و assertPreConditions()
و assertPostConditions()
و onNotSuccessfulTest(Throwable $th)
(PHPUnit 8.0+)،
expectExceptionMessageRegExp
expectExceptionMessageMatches
(PHPUnit 8.4+)،
استخدم أسماء تأكيد جديدة (أكثر قابلية للقراءة):
تم استبدال " assertNotIsReadable
assertIsNotReadable'
،
تم استبدال " assertNotIsWritable
assertIsNotWritable'
،
تم استبدال " assertDirectoryNotExists
assertDirectoryDoesNotExist'
،
تم استبدال assertDirectoryNotIsReadable
assertDirectoryIsNotReadable'
،
تم استبدال " assertDirectoryNotIsWritable
assertDirectoryIsNotWritable'
،
تم استبدال " assertFileNotExists
assertFileDoesNotExist'
،
تم استبدال assertFileNotIsReadable
assertFileIsNotReadable'
،
تم استبدال " assertFileNotIsWritable
assertFileIsNotWritable'
،
تم استبدال assertRegExp
assertMatchesRegularExpression'
،
تم استبدال assertNotRegExp
assertDoesNotMatchRegularExpression'
. (بي بي يونيت 9.1+)،
المهام: getMockBuilder(...)->...->setMethods(...)->getMock()
createPartialMock(...)
إن أمكن (PHPUnit 5.5.3+)،
TODO: assertContains()
و assertNotContains()
على string
كومة قش إلى طريقة تأكيد أكثر تحديدًا (PHPUnit 7.5+)،
المهام: $this->assert
على self::assert
.
تغيير فئات PHPUnit_Framework_Error_*
وربما أشياء أخرى لا أتذكرها الآن ;-)
ملحوظة
يرجى تذكر أنها أداة مطور ويجب استخدامها فقط كمساعد لترحيل اختباراتك إلى إصدار أحدث من PHPUnit. قم دائمًا بعد الترحيل بإجراء جميع اختباراتك للتحقق مما إذا كانت التغييرات المطبقة صحيحة وأن اختباراتك لا تزال تعمل!