gpt4 book ai didi

php - 运行测试时无法让 Laravel 更改数据库

转载 作者:行者123 更新时间:2023-11-28 21:16:12 24 4
gpt4 key购买 nike

首先,当我注意到在测试中使用 RefreshDatabase 特性时,我的问题就开始了。它迁移了我的整个开发数据库,​​清除了所有内容!我不知道这是否是它的工作方式,但我需要我的数据库在本地运行我的应用程序并对其进行手动测试。

然后我尝试仅将 sqlite 用于测试。首先,我将这一行添加到 phpunit.xml

<server name="DB_CONNECTION" value="sqlite"/>

但是没有用。运行测试仍然刷新 mysql 数据库。

然后我尝试添加一个 .env.testing 文件,并将 DB_CONNECTION 更改为 sqlite

再次失败。

然后我在一次测试中将这一行添加到 setUp:

dd(env('DB_CONNECTION', 'mysql'), config('database.default'));

phpunit.xml 中有数据库时的结果:

PHPUnit 7.5.16 by Sebastian Bergmann and contributors.

"sqlite"
"mysql"

.env.testing 时的结果:

PHPUnit 7.5.16 by Sebastian Bergmann and contributors.

"mysql"
"mysql"

有什么我可以尝试找出发生这种情况的原因吗?

Laravel:Laravel 框架 5.8.35

PHP:PHP 7.3.7

最佳答案

尝试

phpunit --configuration filelocation

如果有效,转到 basepath 并执行 ./vendor/phpunit/phpunit/phpunit 并且 phpunit.xml 必须在 basepath 中。

祝你好运

关于php - 运行测试时无法让 Laravel 更改数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57956352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com