2

我正在尝试运行 Laravel Dusk,我需要使用测试数据库。当我检查屏幕截图时,它说数据库不存在。问题是在 .env 上定义的数据库而不是在 .env.dusk 上定义的数据库......我试图将文件重命名为 .env.dusk.local ,但仍然没有运气。我究竟做错了什么?

4

3 回答 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

通过执行以下步骤,我能够使其工作:

  1. 消除.env.testing
  2. 运行php artisan dusk(这将创建phpunit.dusk.xml)。
  3. 将以下内容添加到这个新创建的文件的末尾
<phpunit>
    ...

    <php>
        <server name="APP_ENV" value="local"/>
    </php>
</phpunit>
  1. 您现在可以恢复.env.testing仍可用于 phpunit 测试的内容。

原始答案

我发现如果你删除.env.testing它然后使用.env.dusk.local. 似乎.env.testing总是优先。

这并不能解决使用单独的 .env 进行单元测试和黄昏的问题;这在使用 sqlite 在内存中运行单元测试和黄昏测试时很有用。

于 2020-11-06T11:54:34.267 回答