【发布时间】:2021-03-08 12:13:15
【问题描述】:
我想将 Sqlite 驱动程序用于测试数据库和实际数据库。我的 .env 文件是:
DB_CONNECTION=sqlite
没关系,我可以将 sqlite 用于实际数据库并进行测试,我在 config/database.php 的连接数组下定义了类似的内容:
'testing' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('test.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
我的phpunit.xml配置也是这样的:
<php>
<server name="APP_ENV" value="testing"/>
<server name="BCRYPT_ROUNDS" value="4"/>
<server name="CACHE_DRIVER" value="array"/>
<server name="DB_CONNECTION" value="testing"/>
<server name="DB_DATABASE" value=":memory:"/>
<server name="MAIL_MAILER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/>
<server name="TELESCOPE_ENABLED" value="false"/>
</php>
但它仍然使用我的实际数据库进行测试,我尝试在互联网上用不同的方式配置 database.php 和 phpunit.xml,但它仍然无法正常工作。
示例就像使用 mysql 作为实际,使用 sqlite 进行测试,但我想对它们都使用 sqlite。
【问题讨论】:
-
你的问题是什么?
-
如何使用 sqlite 进行测试和实际操作。 database.sqlite(实际),test.sqlite(测试)
标签: php laravel sqlite testing