Symfony2:使用sqlite进行单元测试

时间:2014-10-14 14:41:17

标签: sqlite symfony doctrine phpunit

我正在使用phpunit和Symfony2。

我决定使用sqlite进行测试。

我遇到的问题是外键约束被忽略。

我知道我必须执行以下查询才能使用外键:PRAGMA foreign_keys = ON)。

我的问题是:有没有办法在使用sqlite创建数据库模式时始终使用外键?

谢谢!

1 个答案:

答案 0 :(得分:3)

不幸的是,这是不可能的。相应于SQLite documentation

  

假设在编译库时启用了外键约束,   它必须仍然由应用程序在运行时启用,使用   PRAGMA foreign_keys命令。

我建议创建自己的测试用例类,并使用setUp()方法启用外键。

class SQLiteTestCase extends \PHPUnit_Framework_TestCase
{
  protected function setUp()
  {
    parent::setUp();
    // Here add your code to enable foreign keys
  }
}

class MyTest extends SQLiteTestCase
{
  protected function setUp()
  {
    // Setup your test data-set here
    parent::setUp();
  }
}