Migrasikan proyek ke PHPUnit versi terbaru.
[Pekerjaan Sedang Berlangsung] Risiko ditanggung sendiri :)
Kloning proyek:
$ git clone https://github.com/webimpress/phpunit-migration.git
Masuk ke direktori dan instal dependensi:
$ cd phpunit-migrasi$ pemasangan komposer
Untuk memperbarui proyek Anda ke versi terbaru PHPUnit, buka direktori proyek Anda dan jalankan:
$ ../path/ke/phpunit-migration/bin/phpunit-migration bermigrasi
buat dependensi ke versi PHPUnit terbaru,
PHPUnit_Framework_TestCase
ke PHPUnitFrameworkTestCase
dengan namespace,
setExpectedException
ke expectException*
,
setUp
dan tearDown
ke kasus protected
dan diperbaiki ( setup
=> setUp
dll.),
FQCN dalam tag @cover
(yaitu @covers MyClass
hingga @covers MyClass
),
assertInternalType
dan assertNotInternalType
ke metode pernyataan yang lebih spesifik (PHPUnit 7.5+),
getMock
ke getMockBuilder
dengan panggilan fungsi lain yang diperlukan (PHPUnit 5.4+),
getMockBuilder(...)->...->getMock()
ke createMock(...)
jika memungkinkan (PHPUnit 5.4+),
assertEquals()
dan assertNotEquals()
dengan parameter $delta
, $maxDepth
, $canonicalize
dan $ignoreCase
ke metode pernyataan yang lebih spesifik (PHPUnit 7.5+),
tambahkan tipe kembalian kosong ke metode berikut: setUp()
, tearDown()
, setUpBeforeClass()
, tearDownAfterClass()
, assertPreConditions()
, assertPostConditions()
, onNotSuccessfulTest(Throwable $th)
(PHPUnit 8.0+),
expectExceptionMessageRegExp
ke expectExceptionMessageMatches
(PHPUnit 8.4+),
gunakan nama pernyataan baru (lebih mudah dibaca):
assertNotIsReadable
diganti dengan assertIsNotReadable'
,
assertNotIsWritable
diganti dengan assertIsNotWritable'
,
assertDirectoryNotExists
diganti dengan assertDirectoryDoesNotExist'
,
assertDirectoryNotIsReadable
diganti dengan assertDirectoryIsNotReadable'
,
assertDirectoryNotIsWritable
diganti dengan assertDirectoryIsNotWritable'
,
assertFileNotExists
diganti dengan assertFileDoesNotExist'
,
assertFileNotIsReadable
diganti dengan assertFileIsNotReadable'
,
assertFileNotIsWritable
diganti dengan assertFileIsNotWritable'
,
assertRegExp
diganti dengan assertMatchesRegularExpression'
,
assertNotRegExp
diganti dengan assertDoesNotMatchRegularExpression'
. (PHPUnit 9.1+),
TODO: getMockBuilder(...)->...->setMethods(...)->getMock()
ke createPartialMock(...)
jika memungkinkan (PHPUnit 5.5.3+),
TODO: assertContains()
dan assertNotContains()
pada string
haystack ke metode pernyataan yang lebih spesifik (PHPUnit 7.5+),
TODO: $this->assert
ke self::assert
.
mengubah kelas PHPUnit_Framework_Error_*
mungkin hal lain yang saya tidak ingat sekarang ;-)
Catatan
Harap diingat bahwa ini adalah alat pengembang dan sebaiknya digunakan hanya sebagai bantuan untuk memigrasi pengujian Anda ke versi PHPUnit yang lebih baru. Selalu setelah migrasi, jalankan semua pengujian Anda untuk memverifikasi apakah perubahan yang diterapkan sudah benar dan pengujian Anda masih berfungsi!