Laravel 5.8 .env.testing файл не работает - PullRequest
0 голосов
/ 15 июня 2019

Я создал файл .env.testing со своими учетными данными, все так же, как .env, за исключением другого имени таблицы для базы данных.

Я попытался php artisan config:clear, который удаляет кэшированный файл конфигурации в bootstrap/cache/config.php и он разорвал соединение с базой данных.Если я повторно кэширую файл, запустив php artisan config:cache, кэшированный файл вернется, но без учетных данных в файле .env.testing.Когда я перезапускаю PHPUnit, он подключается к неправильной БД, имя БД, которое хранится в .env, а не .env.testing.

Это реально?Были ли последние среды тестирования на разрыв выпуска Laravel?

Вот что прочитали в документах: (найдено здесь: https://laravel.com/docs/5.8/testing)

"Вы можете определять другие значения конфигурации среды тестирования по мере необходимости.Переменные среды тестирования можно настроить в файле phpunit.xml, но перед запуском тестов обязательно очистите кэш конфигурации с помощью команды config: clear Artisan!

Кроме того, вы можете создать файл .env.testing.в корне вашего проекта. Этот файл переопределит файл .env при выполнении тестов PHPUnit или выполнении команд Artisan с параметром --env = testing. "

ОБНОВЛЕНИЕ

Наконец-то я смог переопределить базу данных, указанную в .env, добавив переопределение базы данных в файл phpunit.xml; файл .env.testing все еще не работает. Документы вводят в заблуждениенаименее.

1 Ответ

1 голос
/ 04 июля 2019

У меня была такая же проблема с Laravel v5.6.Я настроил файл .env.testing с другим именем пользователя, паролем и базой данных, но мои тесты всегда выполнялись в основной базе данных .env.

Похоже, вам нужно указать среду тестирования при запускекоманда config cacheПосле выполнения этой команды она работала, как описано в документации:

php artisan config:cache --env=testing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...