【问题标题】:Codeception environment configuration not workingCodeception 环境配置不起作用
【发布时间】:2023-03-27 23:34:01
【问题描述】:

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 

它不会拉入 dev 配置,而是使用来自acceptance.suite.yml 文件的默认配置。我做错了什么?

【问题讨论】:

    标签: configuration codeception environments


    【解决方案1】:

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

    如果您没有这个changeset,您可以在您的 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 for the answer posted on the Codeception repo

    【讨论】:

      猜你喜欢
      • 2015-10-20
      • 1970-01-01
      • 2014-03-11
      • 2015-06-13
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 2016-04-08
      相关资源
      最近更新 更多