PHPUnitで複数テストメソッドの依存を設定する

PHPUNitは、@dependsアノテーションを使うことで1つのメソッドに対して、
複数のテストメソッドの依存も表すことが出来る。
コードを書いて確認する。

確認に使用したバージョン
PHP:5.6.28
PHPUnit:5.7.0

書いたコード

use PHPUnit\Framework\TestCase;

class learnTest extends Testcase
{
    public function testProducerFirst()
    {
        $this->assertTrue(true);
        return '3';
    }

    public function testProducerSecond()
    {
        $this->assertTrue(true);
        return '5';
    }

    /**
     * @depends testProducerFirst
     * @depends testProducerSecond
     */
    public function testConsumer()
    {
        $this->assertEquals(
            ['3', '5'],
            func_get_args()
        );
    }
}

testConsumer()に、@dependsを2つ記述する。
それにより、testConsumer()は、testProducerFirst()とtestProducerSecond()に依存することになる。
testConsumer()は、func_get_args()により、2つのテストメソッドの結果を受け取ることができる。

コメント

タイトルとURLをコピーしました