/**
* Tests Response->redirect
* @runInSeparateProcess
*/
public function testRedirect() {
$this->markTestSkipped();
}
错误消息:
There was 1 error:
1) ResponseTest::testRedirect
PHPUnit_Framework_Exception: PHP Fatal error: Uncaught exception 'PDOException' with message 'You cannot serialize or unserialize PDO instances' in -:44
Stack trace:
0 [internal function]: PDO->__sleep()
1 -(44): serialize(Array)
2 -(332): __phpunit_run_isolated_test()
3 {main}
thrown in - on line 44
Fatal error: Uncaught exception 'PDOException' with message 'You cannot serialize or unserialize PDO instances' in -:44
Stack trace:
0 [internal function]: PDO->__sleep()
1 -(44): serialize(Array)
2 -(332): __phpunit_run_isolated_test()
3 {main}
thrown in - on line 44
答案 0 :(得分:1)
当PHPUnit在另一个进程中运行测试时,它将序列化一堆不同的数据以提供给新进程。我假设您在PHPUnit尝试序列化的变量中有一个数据库连接。
答案 1 :(得分:0)
as @SamHennessy提到,这个问题是因为失败时堆栈跟踪中的大量数据
这是因为TestCase中保存了大量的对象,
当断言失败时,会生成并序列化跟踪, 如果跟踪中存在大量数据,则序列化会中断。
在我的情况下,我在测试用例中保存数据集,在跟踪中生成了239555个字节的数据