14

我正在尝试在 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"

提前致谢。

4

4 回答 4

11

尝试清除测试环境的缓存。php app/console cache:clear --env=test

于 2013-07-10T20:05:36.907 回答
10

这是一个调试解决方案,可以帮助您找到反序列化方法失败的地方:

<?php
ini_set('unserialize_callback_func', 'debug_unserialize');

function debug_unserialize($classname) 
{
    die(var_dump($classname));
}

这样,您将看到哪个类名导致了问题。

于 2014-09-15T12:30:39.923 回答
1

尝试在浏览器中打开您的站点,然后再次尝试执行测试。我确信它会起作用,似乎 Php Unit 和 Symfony 在缓存生成方面存在一些差异

于 2013-06-04T10:41:54.997 回答
0

我有同样的问题

将 symfony 更新到 symfony 3.3.18 对我有用!

希望能帮助到你

于 2019-06-11T06:20:53.047 回答