@slip31

Как работать с тестовым окружением?

Здравствуйте. Не может до меня дойти как работать с env файлами и тестами, в частности иметь свою тестовую базу.
Есть проект на Symfony 5 и Codeception. Хотел бы запускать тесты, в том числе работающие с базой данных, созданной специально для тестов.
Есть база `project` и база `project_test`. Создал файл .env.test.local, положил в него
APP_ENV=test
DATABASE_URL="mysql://root:root@127.0.0.1:3306/project_test"

С этим всё нормально. Если я запускаю
bin/console doctrine:migrations:migrate --env=test миграции попадают в `project_test`. Но что делать дальше? Если я запускаю `codecept_run`, то тесты работают с базой `project`, а не с тестовой. Где и что я должен указать, чтобы работать с тестовой базой?
В документации Симфони указан такой "рецепт"
$ APP_ENV=test symfony php bin/phpunit tests/Controller/ConferenceControllerTest.php
,но могу ли я просто указать в env.local.test APP_ENV=test и чтобы симфони его "принял" или как это вообще работает?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Вам нужно установить для тестов переменную окружения test, тогда у вас будет всё работать. Сделать это можно в конфигурационном файле тестирования.

Пример настройки Unit test.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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