Я создал файл .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 все еще не работает. Документы вводят в заблуждениенаименее.