我正在尝试运行 Laravel Dusk,我需要使用测试数据库。当我检查屏幕截图时,它说数据库不存在。问题是在 .env 上定义的数据库而不是在 .env.dusk 上定义的数据库......我试图将文件重命名为 .env.dusk.local ,但仍然没有运气。我究竟做错了什么?
问问题
856 次
3 回答
0
我遇到了同样的问题。最近我发现 .env 文件在黄昏开始之前被缓存。
我通过添加解决了它
$this->artisan('config:cache');
进入 CreateApplication.php 中的 createApplication() 函数。有用 :)
但是,如果我完成了黄昏测试,我必须运行
php artisan config:cache
让原始服务器运行。
编辑:
后来我尝试简单地调用
php artisan config:clear
还可以防止应用程序缓存 env 变量。(更简单,更快)
于 2019-08-08T00:19:05.587 回答
0
尝试清除缓存?我记得当我第一次开始使用黄昏时遇到过类似的问题。
php artisan cache:clear
于 2017-09-11T05:02:23.337 回答
0
通过执行以下步骤,我能够使其工作:
- 消除
.env.testing
- 运行
php artisan dusk
(这将创建phpunit.dusk.xml
)。 - 将以下内容添加到这个新创建的文件的末尾
<phpunit>
...
<php>
<server name="APP_ENV" value="local"/>
</php>
</phpunit>
- 您现在可以恢复
.env.testing
仍可用于 phpunit 测试的内容。
原始答案
我发现如果你删除.env.testing
它然后使用.env.dusk.local
. 似乎.env.testing
总是优先。
这并不能解决使用单独的 .env 进行单元测试和黄昏的问题;这在使用 sqlite 在内存中运行单元测试和黄昏测试时很有用。
于 2020-11-06T11:54:34.267 回答