-1
 /**
  * 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
4

2 回答 2

1

当 PHPUnit 在另一个进程中运行测试时,它将序列化一堆不同的数据以提供给该新进程。我假设你有一个数据库连接挂在 PHPUnit 试图序列化的变量中。

于 2013-04-30T19:42:34.950 回答
0

正如@SamHennessy 提到的,这个问题是因为失败时堆栈跟踪中的大量数据

这是因为TestCase中保存了一个大对象,

当断言失败时,会生成跟踪并序列化,因此如果跟踪中有大量数据,则序列化会中断。

就我而言,我将数据集保存在测试用例中,它在跟踪中生成了 239555 字节的数据

于 2015-12-17T21:47:52.870 回答