I'm trying to execute a simple PHPUnit test using the "@runInSeparateProcess" annotation and a PDO connection, but it raise the following exception :
PHPUnit_Framework_Exception: PHP Fatal error: Uncaught exception 'PDOException' with >>message 'You cannot serialize or unserialize PDO instances' in -:37
I just can't figure what going wrong. Here's my piece of code
<?php
require_once 'PHPUnit/Extensions/Database/TestCase.php';
/**
* @runTestsInSeparateProcesses
*/
class myTest extends PHPUnit_Extensions_Database_TestCase{
private $pdo = null;
public function __construct() {
$this->pdo = new Pdo('sqlite::memory:');
try{
$this->pdo->exec('CREATE TABLE post (
id INTEGER NOT NULL,
title TEXT(100),
PRIMARY KEY (id),
UNIQUE (id)
)'
);
} catch(PDOException $e){
echo $e->getMessage();
}
}
/**
* @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
*/
public function getConnection(){
return $this->createDefaultDBConnection($this->pdo, 'sqlite');
}
/**
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
public function getDataSet(){
return $this->createFlatXMLDataSet(dirname(__FILE__).'/test.xml');
}
protected function getSetUpOperation(){
return PHPUnit_Extensions_Database_Operation_Factory::CLEAN_INSERT();
}
public function testFirst(){
$this->assertEquals(1,1);
}
public function testSecond(){
$this->assertEquals(1,1);
}
}