我试图修复测试,但不知何故,我的值在下一个函数中保持NULL
。
我使用的是Sebastian Bergmann的Selenium webdriver。
所以我拥有:
protected $role;
// Setup ....
public function testRoles()
{
// Code ....
$this->role = 'hr'; // I want this value in the next function
}
public function testAcl()
{
// Login here
var_dump($this->role); // This var_dump is NULL , why?
$this->webDriver->getKeyboard()->sendKeys($this->role);
}
当我var_dump
$this->role
时,它会NULL
问题:为什么会这样?我忘了/可以做什么,它变成了我想要的数据:'hr'
?
我得到的错误:Invalid argument supplied for foreach()
这是因为$this->role
是NULL
答案 0 :(得分:1)
它是因为你从未在var_dump($ this-> role)之前设置角色;线。这意味着你必须在var_dump($ this-> role);之前运行$ this-> testRoles()。
答案 1 :(得分:1)
调用testRoles()来设置$ this-roles ...
public function testAcl()
{
// call testRoles
$this->testRoles();
// now $this->role was set to hr by testRoles()
// work with it
var_dump($this->role);
}