PHPUnit数据库扩展 - 如何拥有一个空数据集?

Lan*_*ing 10 phpunit dbunit

我想创建一个空的测试表.使用来自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
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该使用与createFlatXMLDataSet()不同的方法吗?要么???

Lan*_*ing 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();
    }
Run Code Online (Sandbox Code Playgroud)

  • 我只想补充一点,对于较新的版本,这不再适用.我认为自PHPUnit 6.0以来他们在这里使用名称空间:`return new PHPUnit\DbUnit\DataSet\DefaultDataSet();` (3认同)