在内存中sqlite尽管设置仍然是空的
发布时间:2020-12-12 19:05:52 所属栏目:百科 来源:网络整理
导读:我按照站点 Testing Symfony Apps with a Disposable Database教程. 我在我的测试用例中添加了Fixtures,并且在SetUp期间没有出现错误.如果我在灯具中添加一个错误(例如,将nullable = false字段留空),则会显示错误,因此此代码肯定会被执行. 我的配置: doctri
我按照站点
Testing Symfony Apps with a Disposable Database教程.
我在我的测试用例中添加了Fixtures,并且在SetUp期间没有出现错误.如果我在灯具中添加一个错误(例如,将nullable = false字段留空),则会显示错误,因此此代码肯定会被执行. 我的配置: doctrine: dbal: default_connection: memory connections: memory: driver: pdo_sqlite memory: true charset: UTF8 我的WebTestCase中的SetUp: protected function setUp() { parent::setUp(); self::bootKernel(); DatabasePrimer::prime(self::$kernel); $this->loadFixtures([ 'AppBundleDataFixturesORMUserData','AppBundleDataFixturesORMArtistData' ]); } 然而,在我的WebTestCase中,似乎没有表存在. SQLSTATE[HY000]: General error: 1 no such table: my_user_table 如果我在文件中切换到sql_lite,一切正常,没有任何其他更改: dbal: default_connection: file connections: file: driver: pdo_sqlite path: %kernel.cache_dir%/test.db charset: UTF8 任何人都有成功的说教程或使用sqlite内存数据库进行单元测试,并有任何提示或想法? 更新: parent::setUp(); $this->client = $this->getClient(); MemoryDbPrimer::prime(self::$kernel); $this->loadFixtures([ 'AppBundleDataFixturesORMUserData','AppBundleDataFixturesORMArtistData' ]);当你 $client->request(<METHOD>,<URL>); 哪个叫 SymfonyBundleFrameworkBundleClient::doRequest($request) 请求后,内核默认关闭,内存数据库被删除. 如果你打电话 client->disableReboot(); 在测试的setup()函数中,这将禁用行为,并且您可以运行整个套件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |