Я использую Codeception v2.4.1 с PHPUnit 7.1.3 в новом проекте Symfony 4.
Я создал функциональный тест, попытался его запустить и получил ошибку:
./vendor/bin/codecept run function
There was 1 error:
---------
1) CustomerControllerCest: Customers on index
Test tests/functional/Controller/Internal/CustomerControllerCest.php:customersOnIndex
[Symfony\Component\DependencyInjection\Exception\EnvNotFoundException]
Environment variable not found: "CORS_ALLOW_ORIGIN".
У меня есть файл phpunit.xml, в котором настроена эта среда:
<php>
<ini name="error_reporting" value="-1" />
<env name="KERNEL_CLASS" value="App\Kernel" />
<env name="APP_ENV" value="test" />
<env name="APP_DEBUG" value="1" />
<env name="APP_SECRET" value="191a5940854807ee081eaa57aff30562" />
<env name="SHELL_VERBOSITY" value="-1" />
<!-- define your env variables for the test env here -->
<env name="CORS_ALLOW_ORIGIN" value="^https?://localhost:?[0-9]*$" />
</php>
Я также пытался использовать .env.test и включил эту же переменную:
CORS_ALLOW_ORIGIN=^https?://localhost:?[0-9]*$
Я зарегистрировался в functions.suite.yml, и моя среда настроена на тестирование:
actor: FunctionalTester
modules:
enabled:
- Symfony:
app_path: 'src'
environment: 'test'
em_service: ‘doctrine.orm.entity_manager’
# - Doctrine2:
# depends: Symfony
# add a framework module here
- \Helper\Functional
Не уверен, где проблема. Есть ли дополнительный конфиг, в котором я сообщаю Codeception, где искать эти переменные окружения?