For some reason my application can't use :memory: as the database while testing is printing the error: SQLSTATE[HY000] [1049] Unknown database ':memory:'
How can I get my test to use database in memory? I have looked on Stack Overflow, LaraCast, and Reddit but haven't found a solution. Is there an alternative way to do this?
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="sqlite"/>
<server name="DB_DATABASE" value=":memory:"/>
<server name="MAIL_DRIVER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/>
<server name="TELESCOPE_ENABLED" value="false"/>
</php>
config/database.php
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
//'database' => database_path('database.sqlite'),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
I have run php artisan config:clear & cache:clear.
vendor/bin/phpunit --filter="myTestCase" --configuration phpunit.xml