您可以使用 SQLite。
来自文档:
SQLite 数据库通常存储在单个普通磁盘文件中。但是,在某些情况下,数据库可能存储在内存中。
将其添加到config/database.php
file:
'sqlite_testing' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
],
On the phpunit.xml
文件,下<php>
node:
<env name="DB_CONNECTION" value="sqlite_testing" />
阅读更多here https://mauricius.dev/sqlite-in-memory-database-for-unit-tests-in-laravel/.
其他解决方案
在您的上创建一个测试数据库storage/
文件夹,名称为database.sqlite
或者,如果您想要其他名称或其他位置,则必须更改 config/database.php 文件上的配置,这些是默认配置:
'sqlite' => [
'driver' => 'sqlite',
'database' => storage_path('database.sqlite'),
'prefix' => '',
],
使用此命令来运行迁移:
php artisan migrate --database=sqlite
或者将此行添加到.env
file:
DB_CONNECTION=sqlite
您的应用程序正在使用 sqlitephpunit.
现在您可以运行迁移并进行测试。之后,只需更改DB_CONNECTION
到您的项目使用的数据库。