@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
と変数に手動で注釈を付けなければならないことです。$node
代わりにやりたいことは、2 番目のテストで戻り値を個別のパラメーターとして明示的に使用することです。
class MyTest extends \PHPUnit_Framework_TestCase
{
public function testOne()
{
// ...
return array($client, $node);
}
/**
* @depends testOne
*/
public function testTwo(Client $client, Node $node)
{
// ...
}
}
それは可能ですか?