-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Since PHPUnit 8 PHPUnit\Framework\TestCase::setUp()
has a void
return type added: https://phpunit.de/announcements/phpunit-8.html
This method is extended by CDbTestCase
and CWebTestCase
:
https://github.com/yiisoft/yii/blob/master/framework/test/CDbTestCase.php#L114
https://github.com/yiisoft/yii/blob/master/framework/test/CDbTestCase.php
Running tests on PHP7.0+ PHPUnit 8+ throws a fatal error:
PHP Fatal error: Declaration of CDbTestCase::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void in (..)
On PHP 7.x you can stay on PHPUnit version 7 as a workaround.
However PHP 8 requires a minimum of PHPUnit version 8.
The most straightforward fix is to add the void
return type to CDbTestCase and CWebTestCase, but this breaks backward compatibility with PHP < 7.1 and PHPUnit < 8.
Any ideas on how to patch this in a straightforward but backward compatible manner?