Функциональный тест Symfony Codeception: переменная среды не найдена - PullRequest
0 голосов
/ 05 мая 2018

Я использую 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, где искать эти переменные окружения?

1 Ответ

0 голосов
/ 08 июня 2018

Я использовал CORS_ALLOW_ORIGIN="*" php codecept run, и это решило мою проблему.

...