2010-04-30 3 views
1

Как создать отдельное семя для некоторого теста внутри одного тестового класса? PHPUnit документация включает в себя этот примерОтдельные семена в 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'); 
    } 
} 
?> 

Но в этом примере, у меня есть одно семя для всех испытаний внутри моего класса.

ответ

3

Я нашел ответ. Один из возможных способов сделать это - использовать метод setDataSet.

Пример:

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

Если вы поместите его в тестовой функции, она сбросит семена по умолчанию на любой другой, что вам нужно.

Смежные вопросы