PHPUnit数据库扩展 - 如何使用空数据集?

10

我想创建一个空的测试表格。使用digitalsandwich的示例,我希望得到类似以下代码:

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

我应该使用比createFlatXMLDataSet()更好的方法吗?还是说有其他选择?

1个回答

22

好的,我弄清楚了:

...
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();
    }

3
只是想补充一句,这已不适用于更新的版本。我认为自 PHPUnit 6.0 起,它们在这里使用命名空间:return new PHPUnit\DbUnit\DataSet\DefaultDataSet(); - Daniel Rotter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接