2010-04-30 7 views
1

Comment créer une graine séparée pour un test dans une classe de test? documentation PHPUnit comprend cet exempleSéparez les graines dans PHPUnit

<?php 
require_once 'PHPUnit/Extensions/Database/TestCase.php'; 

class DatabaseTest extends PHPUnit_Extensions_Database_TestCase 
{ 
    protected function getConnection() 
    { 
     $pdo = new PDO('mysql:host=localhost;dbname=testdb', 'root', ''); 
     return $this->createDefaultDBConnection($pdo, 'testdb'); 
    } 

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

Mais dans cet exemple je une graine pour tous les tests à l'intérieur de ma classe.

Répondre

3

J'ai trouvé la réponse. Une méthode possible consiste à utiliser la méthode setDataSet.

Exemple:

$newSet = $this->createFlatXmlDataSet(dirname(__FILE__) . '/_files/members.xml');   
$this->getDatabaseTester()->setDataSet($newSet); 
$this->getDatabaseTester()->onSetUp(); 

Si vous le mettez dans votre fonction de test, il réinitialise les semences par défaut à tout autre, que vous avez besoin.