2017-08-12 113 views
0

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 –

回答

0

您可以專門爲黃昏創建一個單獨的.env文件。

如文檔指出:

當運行測試,黃昏將備份您的.ENV文件並重新命名您的 黃昏環境.ENV。一旦測試完成,您的.env 文件將被恢復。

這應該有助於您解決問題。

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