Laravel 5.4 phpunit vs dusk tests Env App_Url

Тесты 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

Но…

Сумерки видят это неправильно.

Сумерки загружают меня localhost, где можно только приветствовать страницу XAMPP.
Не моя страница проекта на localhost/forum/

Затем я изменяю в ENV на APP_URL=http://localhost/forum/

И работает хорошо, сумерки хороши …

Но тогда вы знаете что?

Мои тесты PHPunit не хороши, они больше не работают.

Они не могут найти это $this->get('sekcja/sadsadsadsadas'); больше.

Итак, мой вопрос

Что здесь происходит? В документации, которую я прочитал для сумерек, я должен установить это, как я установил, но их мой тест PHPunit не работает. Зачем? если и phpunit, и dusk test используют одну и ту же переменную, почему они хотят иметь разные значения для нее? Это глупо.

0

Решение

Вы можете создать отдельный файл .env специально для заката.

Как указано в документах:

При запуске тестов Dusk создаст резервную копию вашего файла .env и переименует ваш
Сумерки среды для .env. Как только тесты завершены, ваш .env
файл будет восстановлен.

Это должно помочь вам решить вашу проблему.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]