基底クラス PHPUnit\Framework\TestCase
の一部メソッドの型が変わっている
テストを実行すると以下のエラーが発生した。
Fatal error: Declaration of xxx\xxxTest::setUpBeforeClass() must be compatible with PHPUnit\Framework\TestCase::setUpBeforeClass()
戻り値の型宣言 : void
をつければ勝ち。
<?php // 中略 - public static function setUpBeforeClass() + public static function setUpBeforeClass(): void { // 略 } - public static function tearDownAfterClass() + public static function tearDownAfterClass(): void { // 略 } // 以下略
expectedException
系アノテーションが deprecated に
Error ではなく Warning。
The @expectedException, @expectedExceptionCode, @expectedExceptionMessage, and @expectedExceptionMessageRegExp annotations are deprecated. They will be removed in PHPUnit 9. Refactor your test to use expectException(), expectExceptionCode(), expectExceptionMessage(), or expectExceptionMessageRegExp() instead.
expectedException
系がアノテーションからメソッドになり、アノテーションは 9 系で廃止される。
書き方は以下を参考に。
<?php use xxx\MyException; // 中略 /** - * @expectedException \xxx\MyException */ public static function testHoge() { + $this->expectException(MyException::class); // 以下略