Как правильно настроить тестовое окружение в Symfony 4 с .env файлами?
Добрый день.
Как правильно настроить тестовое окружение в Symfony 4?
Раньше были конфиги prod, test, dev и файлы parameters.yml для каждого окружения.
Сейчас конфиги тоже отличаются, а вместо parameters.yml теперь .env файл.
В документации рекомендуется окружение задавать в этом файле. Но как настоить dev и test окружение с одним этим файлом? Не буду же я перед запуском тестов менять .env файл и потом обратно возвращать значения.
Например, в разных окружениях разные базы данных. Раньше в parameters.yml были настройки подключения к dev базе и в parameters_test.yml настройки к тестовой базе.
Если хотите использовать отдельный .env файл для тестирования - создайте bootstrap файл (см. https://symfony.com/doc/current/testing/bootstrap.html) в котором, используя компонент Dotenv, сделайте загрузку нужного файла.
.env это оригинал, его можно вообще не трогать
нужно создать .env.local, скопировать туда данные из .env и настроить под нужное окружение
.env.local должен быть прописан в .gitignore
In addition, you may create a.env.testing file in the root of your project. This file will override the .env file's variables when running PHPUnit tests or executing Artisan commands with the --env=testing switch.