Laravel 5.4 phpunit vs黄昏测试Env App_Url

Laravel 5.4 phpunit vs黄昏测试Env App_Url

问题描述:

PHPunit测试和Artisan黄昏测试都使用.env文件中的APP_URLLaravel 5.4 phpunit vs黄昏测试Env App_Url

但有一些奇怪的,也许是因为我的设置,但我不知道,它疯了。

我有XAMPP,我的项目是localhost/forum/

当我有

APP_URL=http://localhost

我的单元测试都OK。

例如

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

     $response->assertStatus(200); 

所有的好。

像laravel知道它是http://localhosthttp://localhost/forum/测试,因为有这个项目,并期待在http://localhost/forum/sekcja/sadsadsadsadas

但是......

黄昏看到这个错误。

黄昏正在加载我localhost欢迎XAMPP的页面。 不是在localhost/forum/

然后我的项目页面我ENV更改为APP_URL=http://localhost/forum/

而且做工不错,黄昏测试都不错... ...

但是,你知道吗?

我的PHPunit测试不好,他们不工作了。

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

所以我的问题是

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

+0

我不知道你是如何运行的黄昏测试,你通过运行PHP的'工匠serve'或类似的东西在PHP的Web服务器?这与使用XAMPP不同,可能是你的问题的原因,我从来没有使用过XAMPP,我只用过宅基地,但也许这是问题的原因。 – JonnySerra

+0

我只是在htdocss中有一切,它通过xampp运行。我运行php工匠黄昏测试@JonnySerra –

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

如文档指出:

当运行测试,黄昏将备份您的.ENV文件并重新命名您的 黄昏环境.ENV。一旦测试完成,您的.env 文件将被恢复。

这应该有助于您解决问题。

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