Перенесите проект на новейшую версию PHPUnit.
[В работе] Используйте на свой страх и риск :)
Клонируйте проект:
$ git clone https://github.com/webimpress/phpunit-migration.git
Зайдите в каталог и установите зависимости:
$ cd phpunit-migration$ установка композитора
Чтобы обновить проект до последней версии PHPUnit, перейдите в каталог вашего проекта и запустите:
$ ../путь/к/phpunit-migration/bin/phpunit-migrationmigrate
составить зависимости к последним версиям 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+),
добавьте тип возвращаемого значения void к следующим методам: 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'
. (PHPUUnit 9.1+),
TODO: getMockBuilder(...)->...->setMethods(...)->getMock()
для createPartialMock(...)
если это возможно (PHPUnit 5.5.3+),
TODO: assertContains()
и assertNotContains()
в string
haystack для более конкретного метода утверждения (PHPUnit 7.5+),
ЗАДАЧА: $this->assert
to self::assert
.
изменение классов PHPUnit_Framework_Error_*
возможно, еще что-то, чего я сейчас не помню ;-)
Примечание
Помните, что это инструмент разработчика, и его следует использовать только в качестве помощника для переноса ваших тестов на более новую версию PHPUnit. Всегда после миграции запускайте все тесты, чтобы убедиться, что внесенные изменения верны и тесты все еще работают!