Codeception - 如何在Helper类中获取当前环境配置

时间:2017-03-09 12:56:58

标签: php codeception

是否可以在Codeception中的Helper Class中获取当前环境配置?

现在我将它作为$env变量从Cest传递给我使用这个助手。

class FavoritesCest
    {
        public function _before(AcceptanceTester $I)
        {
            $I->loggedInIntoFrontend(LoginPage::LOGIN, LoginPage::PASSWORD, $I->getScenario()->current('env'));
        }

    ...

    }

在Cest中我使用$I->getScenario()->current('env'),但在Helper中我不能使用Actor类以这种方式获取环境。

// Helper Class
    class Frontend extends Acceptance
    {
        public function loggedInIntoFrontend($name, $password, $env)
        { ... }
    }

有没有人遇到过这个?

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法获取Helper类中的当前环境:

// Helper Class
class Frontend extends Acceptance
{
    private $currentEnv = '';

    // This hook will be called before each scenario.
    public function _before(\Codeception\TestInterface $test)
    {
        $this->currentEnv = $test->getMetadata()->getCurrent('env');
    }

    public function loggedInIntoFrontend($name, $password)
    {  
        if ($this->currentEnv == 'my-env') {
            ... 
        }
    }
}