Получить текущую среду в Codeception 1.8

В Codeception 2.1 появилась новая функция current (), которая помогает получить текущую среду для тестов: $scenario->current('env')
Я использую версию 1.8 и такой функции нет. Итак, я пытался добавить метод current () в класс Scenario вручную, но это не помогает:

protected $env = array();
protected $currents = array();

public function __construct(\Codeception\TestCase $test, $currents = array())
{
$this->test = $test;
$this->currents = $currents;
}

public function env($env)
{
if (!is_array($env)) {
$this->env[] = $env;
return;
}
foreach ($env as $e) {
$this->env($e);
}
}

public function current($key) {
if (!isset($this->currents[$key])) {
echo $this->currents[$key];
throw new TestRuntime("Current $key is not set in this scenario");
}
return $this->currents[$key];
}

1

Решение

Я использую 2.1, но может быть что-то вроде этого:

передать сценарий \ Codeception \ Scenario $ в качестве второго параметра

function testSometing(acceptanceTester $I, \Codeception\Scenario $scenario)
{
$env = $scenario->current();
}

Я боролся с этим некоторое время, пока не прочитал этот билет:
https://github.com/Codeception/Codeception/issues/2225

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector