PHPUnit のバージョンを v7.x に落とし、テストを走らせると、Serialization of 'Closure' is not allowed
というエラーを吐く。
1 2 3 4 5 6 7 8 |
<?xml version="1.0" encoding="UTF-8" ?> <phpunit bootstrap="application/tests/bootstrap.php" backupGlobals="false"> <testsuites> <testsuite name="TestSuite"> <directory>application/tests</directory> </testsuite> </testsuites> </phpunit> |
phpunit.xmlでグローバル変数のバックアップを無効にして回避できるらしいが、Codeception では設定できない。
Postscripts
PHPUnitFrameworkTestCase
クラスを継承してprotected
$backupGlobals
プロパティにfalse
を与えることで問題は回避できる、1protected $backupGlobals = false;参考:#39327 (Database connection errors in unit tests on 4.7) – WordPress Trac