Как я могу использовать переменную между шагами в рамках одного сценария в Beat?
Мне нужно сохранить значение $ output и затем использовать его на втором шаге.
Допустим, у меня есть следующая структура:
class testContext extends DefaultContext
{
/** @When /^I click "([^"]*)"$/ */
public function iClick($element) {
if ($element = 2){
$output = 5
}
}
/** @When /^I press "([^"]*)"$/ */
public function iPress($button) {
if($button == $output){
echo "ok";
}
}
}
Класс контекста может быть с состоянием; все шаги сценария будут использовать один и тот же экземпляр контекста. Это означает, что вы можете использовать обычные атрибуты класса для изменения состояния между шагами:
class testContext extends DefaultContext
{
private $output = NULL;
/** @When /^I click "([^"]*)"$/ */
public function iClick($element)
{
if ($element = 2) {
$this->output = 5;
}
}
/** @When /^I press "([^"]*)"$/ */
public function iPress($button)
{
if ($this->output === NULL) {
throw new BadMethodCallException("output must be initialized first");
}
if ($button == $this->output) {
echo "ok";
}
}
}
Других решений пока нет …