Конфигурация среды кодирования не работает

Codeception: файлы конфигурации, помещенные в tests / _envs, не работают. Я пытаюсь запустить приемочные тесты в нескольких средах (например, dev, qa, staging, prod). Итак, у меня есть файлы dev.yml, qa.yml, staging.yml и prod.yml в каталоге tests / _env. В каждой из этих отдельных сред я переопределяю URL-адрес WebDriver.

файл - dev.yml

modules:
    config:
        WebDriver:
            url: 'dev.mysite.local'

Затем, когда я пытаюсь запустить набор приемочных тестов, используя одну из сред, например

./vendor/bin/codecept run acceptance --env dev 

Он не использует конфигурацию разработчика, а вместо этого использует конфигурацию по умолчанию из файла accept.suite.yml. Что я делаю неправильно?


person Faiyaz Haider    schedule 05.08.2015    source источник


Ответы (1)


В файле codeception / configuration.php есть ошибка, в которой использовалось неправильное регулярное выражение, что препятствует загрузке файла .yml. Однако файлы dist.yml загружаются нормально. Они уже внесли изменения в эту ошибку.

Если у вас нет этого набора изменений, вы можете вручную изменить его в кодецепции. /configuration.php или просто используйте расширение dist.yml.

Неверное регулярное выражение:

$envFiles = Finder::create()
        ->files()
        ->name('*{.dist}.yml')
        ->in($path)
        ->depth('< 1');

Исправление:

    $envFiles = Finder::create()
        ->files()
        ->name('*.yml')
        ->in($path)
        ->depth('< 1');

Спасибо sjableka за ответ, опубликованный в репозитории Codeception.

person Faiyaz Haider    schedule 09.08.2015