ย้ายโปรเจ็กต์เป็น PHPUnit เวอร์ชันใหม่ล่าสุด
[อยู่ระหว่างดำเนินการ] โปรดใช้มันด้วยความเสี่ยงของตัวเอง :)
โคลนโครงการ:
$ git โคลน https://github.com/webimpress/phpunit-migration.git
ไปที่ไดเร็กทอรีและติดตั้งการอ้างอิง:
$ cd phpunit-migration$ ติดตั้งผู้แต่ง
หากต้องการอัปเดตโปรเจ็กต์ของคุณเป็น PHPUnit เวอร์ชันใหม่ล่าสุด ให้ไปที่ไดเร็กทอรีโปรเจ็กต์ของคุณแล้วรัน:
$ ../path/to/phpunit-migration/bin/phpunit-migration โยกย้าย
เขียนการพึ่งพา 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'
(PHPUnit 9.1+)
สิ่งที่ต้องทำ: getMockBuilder(...)->...->setMethods(...)->getMock()
เพื่อ createPartialMock(...)
ถ้าเป็นไปได้ (PHPUnit 5.5.3+)
สิ่งที่ต้องทำ: assertContains()
และ assertNotContains()
บนกองหญ้า string
ไปจนถึงวิธีการยืนยันที่เฉพาะเจาะจงมากขึ้น (PHPUnit 7.5+)
สิ่งที่ต้องทำ: $this->assert
to self::assert
การเปลี่ยนคลาส PHPUnit_Framework_Error_*
อาจเป็นอย่างอื่นที่ฉันจำไม่ได้ตอนนี้ ;-)
บันทึก
โปรดจำไว้ว่านี่เป็นเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ และควรใช้เป็นตัวช่วยในการย้ายการทดสอบของคุณไปยัง PHPUnit เวอร์ชันใหม่เท่านั้น หลังจากการโยกย้ายทุกครั้ง ให้ทำการทดสอบทั้งหมดของคุณเพื่อตรวจสอบว่าการเปลี่ยนแปลงที่ใช้นั้นถูกต้องหรือไม่ และการทดสอบของคุณยังคงใช้งานได้!