1

如何在一个测试类中为某些测试创建单独的种子?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');
    }
}
?>

但在这个例子中,我为班级内的所有测试提供了一个种子。

4

1 回答 1

3

我找到了答案。一种可能的方法是使用 setDataSet 方法。

例子:

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

如果你把它放在你的测试函数中,它会将默认种子重置为你需要的任何其他种子。

于 2010-04-30T13:27:27.730 回答