1

PHPunit 测试和 Artisan Dusk 测试都使用APP_URL.env 文件。

但是有一些奇怪的东西,可能是因为我的设置但我不知道,这很疯狂。

我有 Xampp,我的项目正在进行中localhost/forum/

当我有

APP_URL=http://localhost

我的单元测试没问题。

例如

$response = $this->get('sekcja/sadsadsadsadas');

        $response->assertStatus(200);

都好。

就像 laravel 知道它是http://localhost,但测试,http://localhost/forum/因为有这个项目并且看起来http://localhost/forum/sekcja/sadsadsadsadas

但...

黄昏看错了。

Dusk 正在加载我欢迎 XAMPP 页面的本地主机。不是我的项目页面localhost/forum/

然后我将 ENV 更改为APP_URL=http://localhost/forum/

而且效果很好,黄昏测试很好......

但是,你知道吗?

我的 PHPunit 测试不好,它们不再起作用了。

他们再也找不到这个$this->get('sekcja/sadsadsadsadas');了。

所以我的问题是

这里发生了什么?在我为黄昏阅读的文档中,我必须按照我的设置进行设置,但是我的 PHPunit 测试被破坏了。为什么?如果 phpunit 和黄昏测试都使用相同的变量,为什么他们想要不同的值呢?这有点傻。

4

1 回答 1

1

您可以专门为黄昏创建一个单独的 .env 文件。

如文档中所述:

运行测试时,Dusk 将备份您的 .env 文件并将您的 Dusk 环境重命名为 .env。测试完成后,您的 .env 文件将被恢复。

这应该可以帮助您解决问题。

https://laravel.com/docs/5.4/dusk/#environment-handling

于 2017-08-25T07:25:46.570 回答