1

Codeception:放置在测试/_envs 中的配置文件不起作用。我正在尝试在多个环境(例如 dev、qa、staging、prod)中运行我的验收测试。所以我在 tests/_env 目录下设置了 dev.yml、qa.yml、staging.yml 和 prod.yml 文件。我将覆盖 WebDriver - url 的每个单独的环境。

文件 - dev.yml

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

然后,当我尝试使用其中一种环境运行验收测试套件时,例如

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

它不引入开发配置,而是使用来自acceptance.suite.yml 文件的默认配置。我究竟做错了什么?

4

1 回答 1

1

codeception/configuration.php 文件中存在错误,其中使用了错误的正则表达式,这会阻止加载 .yml 文件。但是, dist.yml 文件加载得很好。他们已经针对此错误进行了更改。

如果您没有此变更集,您可以在您的 codeception/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 repo 上发布的答案

于 2015-08-09T16:25:37.083 回答