我在运行laravel测试箱,在DB连接中出错。DB成功连接。但,
“调用null上的成员函数connection()”--无法打开数据库连接服务器。请更新配置设置。
我把所有这些事情都做得恰到好处。详情如下:
"php" : ">=7.1.3",
"laravel/lumen-framework": "5.8.*",
"phpunit/phpunit" : "^7.0",
"phpunit/php-invoker" : "*",
"phpunit/dbunit" : "^4.0",发布于 2019-04-29 09:50:33
如果没有看到您的phpunit.xml配置,这可能有点猜测,但我怀疑您需要为测试指定一个连接。
如果您检查您的php单元文件,您应该在您的php属性中有如下所示的值。将DB_CONNECTION设置为sqlite,将DB_DATABASE设置为:memory:是配置测试DB的一种快速、轻量级的方法。
<php>
<server name="APP_ENV" value="testing"/>
<server name="BCRYPT_ROUNDS" value="4"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
<server name="CACHE_DRIVER" value="array"/>
<server name="MAIL_DRIVER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/>
</php>如果您的phpunit.xml文件中确实有类似的值,那么您将需要检查您的config/database.php文件,并确保匹配您的DB_CONNECTION的连接具有合理的配置。
sqlite的默认值应该很好,如下所示:
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],希望这能有所帮助。
https://stackoverflow.com/questions/55898148
复制相似问题