Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 6测试-未知数据库';:内存:';_Laravel_Sqlite_Phpunit - Fatal编程技术网

Laravel 6测试-未知数据库';:内存:';

Laravel 6测试-未知数据库';:内存:';,laravel,sqlite,phpunit,Laravel,Sqlite,Phpunit,由于某些原因,我的应用程序无法在测试时使用:内存:作为数据库。只需获取错误:SQLSTATE[HY000][1049]未知数据库:内存:' 请协助我如何让我的测试使用内存中的数据库?我已经查看了stack、laracast和redit,但还没有找到解决方案。是否有其他方法可以做到这一点 PhpUnit.xml <php> <server name="APP_ENV" value="testing"/> <ser

由于某些原因,我的应用程序无法在测试时使用
:内存:
作为数据库。只需获取错误:
SQLSTATE[HY000][1049]未知数据库:内存:'

请协助我如何让我的测试使用内存中的数据库?我已经查看了stack、laracast和redit,但还没有找到解决方案。是否有其他方法可以做到这一点

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>

我已经清除了
php artisan config:clear
&
cache:clear

,因此最终决定删除
,这种方法有效,但仍然会出现其他错误,但它让我意识到我的
phpunit.xml
并没有覆盖我的数据库连接

因此,故事的长短不一之处在于,我最终创建了一个测试连接,该连接使用了有效的
:memory:
数据库

'testing' => [
    'driver' => 'sqlite',
    'database' => ':memory:',
],

至于最初是什么阻止它以标准方式工作,我仍然不知道。但这解决了我的问题。

您是如何运行测试的?@KennyHorna通过CLI使用vendor/bin/phpunit--filter=“myTestCase”是否尝试指定配置文件
vendor/bin/phpunit--filter=“myTestCase”--configuration phpunit.xml
是的,出现了相同的错误。请检查,也许它可以帮助您
'testing' => [
    'driver' => 'sqlite',
    'database' => ':memory:',
],