Вы устанавливаете свойство foo в методе testFirst()
.PHPUnit будет сбрасывать среду между тестами / создавать новый экземпляр «NewTest» для каждого метода теста, если у них нет аннотации @depends), поэтому, если вы хотите, чтобы foo
был установлен на true
, вам нужно пересоздатьэто состояние в зависимом тесте или используйте метод setup()
.
class NewTest extends PHPUnit_Framework_TestCase
{
protected $foo;
protected function setup()
{
$this->foo = TRUE;
}
function testFirst ()
{
$this->assertTrue($this->foo);
}
/**
* @depends testFirst
*/
function testSecond ()
{
$this->assertTrue($this->foo);
}
}
class NewTest extends PHPUnit_Framework_TestCase
{
protected $foo;
function testFirst ()
{
$this->foo = TRUE;
$this->assertTrue($this->foo);
return $this->foo;
}
/**
* @depends testFirst
*/
function testSecond($foo)
{
$this->foo = $foo;
$this->assertTrue($this->foo);
}
}
Все вышеперечисленное должно пройти.
РЕДАКТИРОВАТЬ пришлось удалить решение @backupGlobals.Это было просто неправильно.