我在一个新的Symfony 4项目中使用Codeception v2.4.1和PHPUnit 7.1.3。
我创建了一个功能测试,并尝试运行它,并收到错误: ./vendor/bin/codecept运行功能
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]*$
我检查了functional.suite.yml,我的环境设置为test:
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
不确定问题出在哪里。是否有一个额外的配置,我告诉代码在哪里寻找这些环境变量?
答案 0 :(得分:0)
我使用CORS_ALLOW_ORIGIN="*" php codecept run
并解决了我的问题。
答案 1 :(得分:0)
使用--bootstrap
选项,例如。
--bootstrap=config/bootstrap.php
对于Symfony 4