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

Но...

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

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

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

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

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

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

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

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

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

1 ответ

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

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

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

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

https://laravel.com/docs/5.4/dusk/

Другие вопросы по тегам