是否可以在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)
{ ... }
}
有没有人遇到过这个?
答案 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') {
...
}
}
}