AnisimovAM
@AnisimovAM
Программист

Как правильно настроить тестовое окружение в Symfony 4 с .env файлами?

Добрый день.
Как правильно настроить тестовое окружение в Symfony 4?

Раньше были конфиги prod, test, dev и файлы parameters.yml для каждого окружения.

Сейчас конфиги тоже отличаются, а вместо parameters.yml теперь .env файл.

В документации рекомендуется окружение задавать в этом файле. Но как настоить dev и test окружение с одним этим файлом? Не буду же я перед запуском тестов менять .env файл и потом обратно возвращать значения.

Например, в разных окружениях разные базы данных. Раньше в parameters.yml были настройки подключения к dev базе и в parameters_test.yml настройки к тестовой базе.
  • Вопрос задан
  • 776 просмотров
Пригласить эксперта
Ответы на вопрос 3
voronkovich
@voronkovich
Переменные окружения можно задавать в файле с конфигурацией phpunit. Именно так сделано в официальном демо приложении: https://github.com/symfony/demo/blob/3c5d376ac8e3f...

Если хотите использовать отдельный .env файл для тестирования - создайте bootstrap файл (см. https://symfony.com/doc/current/testing/bootstrap.html) в котором, используя компонент Dotenv, сделайте загрузку нужного файла.
Ответ написан
Комментировать
AlekseyArh
@AlekseyArh
Кибер существо
.env это оригинал, его можно вообще не трогать
нужно создать .env.local, скопировать туда данные из .env и настроить под нужное окружение
.env.local должен быть прописан в .gitignore
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Можете подглянуть у Ларавел, они давно с .env

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.

https://laravel.com/docs/5.6/testing#environment
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы