如何设置不同的Phpunit环境变量?

时间:2017-04-21 12:02:19

标签: php phpunit circleci

在我们的代码中,我们有一行:

if (Configure::read('environment') != 'live') {
    ConnectionManager::alias(Configure::read('environment'), 'default');
}

这意味着只要我们的代码不在线,我们的连接就会被设置为'默认'我们在app.php

中有这种联系

我有一个问题。

由于我们使用的是CircleCI,我们的PhpUnit代码失败并且每次都会被恢复。

所以我需要为PhpUnit设置不同的环境变量(我需要它使用' test',而不是'默认')。

已经尝试过: 场景 -

<php>
    <ini name="memory_limit" value="-1"/>
    <ini name="apc.enable_cli" value="1"/>
    <env name="test" value="test"/>
</php>

phpunit.xml.dist内,我设置了<env name='test' value='test'/>,希望这将为phpunit设置不同的环境。

我的问题是如何为PhpUnit和其余代码设置不同的环境?或者让我重新说一下,我怎么能为CircleCi和PhpUnit以及我们的代码使用不同的环境变量?

1 个答案:

答案 0 :(得分:0)

如果Configure::read使用getenv函数从env中读取,则可以使用env:

    <php>
      <ini name="memory_limit" value="-1"/>
      <ini name="apc.enable_cli" value="1"/>
      <env name="environment" value="test"/>
    </php>

您可以创建一个不同的配置文件,如phpunit-circleci.xml,并将其用作以下参数:

  

phpunit -c phpunit-circleci.xml

希望这个帮助