类__PHP_Incomplete_Class没有反序列化器

Inf*_*ity 13 php lamp phpunit symfony

我试图在PHPUnit中运行测试并得到此错误.

致命错误:/opt/lampp/lib/php/PHPUnit/Util/PHP.php:237中带有消息'Class __PHP_Incomplete_Class没有unserializer'的未捕获异常'ErrorException'

PHP - 5.4.7
PHPUnit - 3.7.21
Run Code Online (Sandbox Code Playgroud)

PHPUnit设置:

processIsolation = "true"
Run Code Online (Sandbox Code Playgroud)

提前致谢.

gre*_*reg 10

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


Gil*_*das 7

这是一个调试解决方案,可以帮助您找到unserialize方法失败的位置:

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

function debug_unserialize($classname) 
{
    die(var_dump($classname));
}
Run Code Online (Sandbox Code Playgroud)

这样你就会看到哪个类名引起了问题.


小智 1

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