我正在尝试在 PHPUnit 中运行测试并收到此错误。
致命错误:/opt/lampp/lib/php/PHPUnit/Util/PHP.php:237 中的消息“Class __PHP_Incomplete_Class has no unserializer”未捕获的异常“ErrorException”
PHP - 5.4.7
PHPUnit - 3.7.21
PHPUnit 设置:
processIsolation = "true"
提前致谢。
尝试清除测试环境的缓存。php app/console cache:clear --env=test
这是一个调试解决方案,可以帮助您找到反序列化方法失败的地方:
<?php
ini_set('unserialize_callback_func', 'debug_unserialize');
function debug_unserialize($classname)
{
die(var_dump($classname));
}
这样,您将看到哪个类名导致了问题。
尝试在浏览器中打开您的站点,然后再次尝试执行测试。我确信它会起作用,似乎 Php Unit 和 Symfony 在缓存生成方面存在一些差异
我有同样的问题
将 symfony 更新到 symfony 3.3.18 对我有用!
希望能帮助到你