2009-10-01 7 views
10

Je souhaite créer une table de test vide. En utilisant l'exemple de digitalsandwich, je veux quelque chose comme:PHPUnit Database Extension - Comment avoir un jeu de données vide?

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 
    } 
} 

devrais-je utiliser une autre méthode que createFlatXMLDataSet()? Ou???

Répondre

22

Ok, j'ai tout compris:

... 
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

Je voulais juste ajouter que ce n'est pas plus vrai pour les versions plus récentes. Je pense que depuis PHPUnit 6.0, ils utilisent des espaces de noms ici: 'return new PHPUnit \ DbUnit \ DataSet \ DefaultDataSet();' –

Questions connexes