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

Codeception - How to get current environment configuration in Helper class

是否可以在 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 class 以这种方式获取环境。

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

有人遇到过吗?

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

// 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') {
            ... 
        }
    }
}