2009-10-01 19 views
10

Quiero crear una tabla de prueba que esté vacía. Usando el ejemplo de digitalsandwich, quiero algo como:Extensión de la base de datos PHPUnit: ¿cómo tener un conjunto de datos vacío?

require_once 'PHPUnit/Extensions/Database/TestCase.php'; 
class BankAccountDBTest extends PHPUnit_Extensions_Database_TestCase 
{ 
    protected $pdo; 

    public function __construct() 
    { 
     $this->pdo = new PDO('sqlite::memory:'); 
     BankAccount::createTable($this->pdo); 
    } 

    protected function getConnection() 
    { 
     return $this->createDefaultDBConnection($this->pdo, 'sqlite'); 
    } 

    protected function getDataSet() 
    { 
     return $this->createFlatXMLDataSet(dirname(__FILE__).'/_files/empty-seed.xml'); 
    } 

    public function testEmptyTableBehavior() 
    { 
     // test stuff 
    } 
} 

¿Debo estar utilizando un método diferente de createFlatXMLDataSet()? ¿¿¿O???

Respuesta

22

Ok, lo he descubierto:

... 
require_once 'PHPUnit/Extensions/Database/DataSet/DefaultDataSet.php'; 
class BankAccountDBTest extends PHPUnit_Extensions_Database_TestCase 
{ 
... 
    protected function getDataSet() 
    { 
     return new PHPUnit_Extensions_Database_DataSet_DefaultDataSet(); 
    } 
+2

Sólo quería añadir que esto ya no es cierto para las versiones más recientes. Creo que desde PHPUnit 6.0 están usando espacios de nombres aquí: 'return new PHPUnit \ DbUnit \ DataSet \ DefaultDataSet();' –

Cuestiones relacionadas