Sqlite phpunit未填充Laravel 4中的装置

Sqlite phpunit未填充Laravel 4中的装置,sqlite,unit-testing,laravel,phpunit,dbunit,Sqlite,Unit Testing,Laravel,Phpunit,Dbunit,我正在尝试将一个单元测试框架添加到一个已经存在的Laravel项目中。我已经阅读了,我正在尝试使用.xml数据集来填充测试数据,并使用主迁移来创建模式,来设置sqlite环境,但实际的测试数据似乎没有填充到表中 我开始将phpunit和dbunit添加到composer.json文件并更新它们。我将vendor/bin添加到$PATH中,以便VM知道在哪里可以找到它 然后,我使用getConnection()、getDataSet()和setUp()扩展现有的TestCase类,其中包含 cl

我正在尝试将一个单元测试框架添加到一个已经存在的Laravel项目中。我已经阅读了,我正在尝试使用.xml数据集来填充测试数据,并使用主迁移来创建模式,来设置sqlite环境,但实际的测试数据似乎没有填充到表中

我开始将phpunit和dbunit添加到composer.json文件并更新它们。我将vendor/bin添加到$PATH中,以便VM知道在哪里可以找到它

然后,我使用getConnection()、getDataSet()和setUp()扩展现有的TestCase类,其中包含

 class TestCase extends Illuminate\Foundation\Testing\TestCase {

    static private $pdo = null;

    private $conn = null;


    public function setUp() {
        parent::setUp();

        Artisan::call('migrate');

        $this->seed();
    }

    public function createApplication() {
        $unitTesting = true;

        $testEnvironment = 'testing';

        return require __DIR__ . '/../../bootstrap/start.php';
    }

    public function getDataSet() {
        parent::getDataSet();
    }

    public function getConnection() {
        if ($this->conn === null) {
            if (self::$pdo == null) {
                self::$pdo = new PDO('sqlite::memory:');
            }
            $this->conn = $this->createDefaultDBConnection(self::$pdo, ':memory:');
        }

        return $this->conn;

    }
}
Illumb\Foundation\Testing\Testcase我更改为:

abstract class TestCase extends \PHPUnit_Extensions_Database_TestCase {
....
}
完成后,我创建了一个XML数据集

<?xml version="1.0" ?>
<dataset>
    <table name="a_table">
       <column>id</column>
       <column>data1</column>
       <column>data2</column>
       <row>
           <value>1</value>
           .....
           .....
       </row>
       <row>
           .....
       </row>
   </table>
</dataset>
我添加了config/testing/database.php:

return array(


    'default' => 'sqlite',
    'connections' => array(
        'sqlite' => array(
            'driver'   => 'sqlite',
            'database' => ':memory:',
            'prefix'   => '',
        )
    ),
);
当我运行测试时,迁移会在sqlite内存中创建db,但数据似乎没有填充。通过行检查,我得到以下错误:

1) ImportantClass::使用数据集#0(1337, 1000、180、10、10)PDO异常:SQLSTATE[HY000]:一般错误:1个 这样的桌子:一张桌子

而仅仅是它自己的结果断言

1) ImportantClass::使用数据集#0(1337, 1000、180、10、10)断言1000与预期的180匹配失败

因此,在这两种情况下,phpunit似乎都没有正确填充装置

有人能看出我哪里做错了吗

return array(


    'default' => 'sqlite',
    'connections' => array(
        'sqlite' => array(
            'driver'   => 'sqlite',
            'database' => ':memory:',
            'prefix'   => '',
        )
    ),
);