代码之家  ›  专栏  ›  技术社区  ›  Faiyaz Haider

Codeception环境配置不工作

  •  1
  • Faiyaz Haider  · 技术社区  · 10 年前

    Codeception:放置在tests/_envs中的配置文件不工作。我正在尝试在多个环境中运行验收测试(例如开发、qa、登台、prod)。所以我有了安装dev.yml,qa。yml,分期。tests/env目录下的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文件。我做错了什么?

    1 回复  |  直到 10 年前
        1
  •  1
  •   random    8 年前

    codeception/配置中存在错误。php文件,其中使用了错误的正则表达式,这会阻止加载.yml文件。然而,dist.yml文件加载得很好。他们已经对这个bug进行了修改。

    万一你没有这个 changeset ,您可以在codeception/配置上手动更改它。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 .