1

@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)
    {
        // ...
    }
}

それは可能ですか?

4

1 に答える 1