@depends注解允许表达测试之间的依赖关系:
class MyTest extends \PHPUnit_Framework_TestCase
{
public function testOne()
{
// ...
return $client;
}
/**
* @depends testOne
*/
public function testTwo(Client $client)
{
// ...
}
}
如果我想返回几个值,我可以返回一个值数组,例如:
class MyTest extends \PHPUnit_Framework_TestCase
{
public function testOne()
{
// ...
return array($client, $node);
}
/**
* @depends testOne
*/
public function testTwo(array $items)
{
list ($client, $node) = $items;
// ...
}
}
虽然它工作正常,但这种方法的问题是我失去了我的 IDE 的类型提示,并且必须手动注释$client
and$node
变量以便它正确理解它们。
我想做的是在第二个测试中明确使用返回值作为单独的参数:
class MyTest extends \PHPUnit_Framework_TestCase
{
public function testOne()
{
// ...
return array($client, $node);
}
/**
* @depends testOne
*/
public function testTwo(Client $client, Node $node)
{
// ...
}
}
那可能吗?