首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行laravel测试用例时,我在Model.php第1249行中得到一个错误“调用null上的成员函数连接()”

在运行laravel测试用例时,我在Model.php第1249行中得到一个错误“调用null上的成员函数连接()”
EN

Stack Overflow用户
提问于 2019-04-29 06:38:35
回答 1查看 861关注 0票数 1

我在运行laravel测试箱,在DB连接中出错。DB成功连接。但,

“调用null上的成员函数connection()”--无法打开数据库连接服务器。请更新配置设置。

我把所有这些事情都做得恰到好处。详情如下:

代码语言:javascript
复制
"php" : ">=7.1.3",
"laravel/lumen-framework": "5.8.*",
"phpunit/phpunit" : "^7.0",
"phpunit/php-invoker" : "*",
"phpunit/dbunit" : "^4.0",
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-29 09:50:33

如果没有看到您的phpunit.xml配置,这可能有点猜测,但我怀疑您需要为测试指定一个连接。

如果您检查您的php单元文件,您应该在您的php属性中有如下所示的值。将DB_CONNECTION设置为sqlite,将DB_DATABASE设置为:memory:是配置测试DB的一种快速、轻量级的方法。

代码语言:javascript
复制
    <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的默认值应该很好,如下所示:

代码语言:javascript
复制
    'sqlite' => [
        'driver' => 'sqlite',
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55898148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档