スポンサーリンク

PHPUnitのテストメソッド間の依存性の確認

スポンサーリンク
スポンサーリンク

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

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

書いたコード

use PHPUnit\Framework\TestCase;

class learnTest extends Testcase
{
    public function testGetNumber()
    {
        $number = 8;
        return $number;
    }
    
    /**
     * @depends testGetNumber
     */
    public function testRecieveNumber($number)
    {
        $this->assertEquals(8, $number);
        return $number;
    }
}

testRecieveNumber()に、@dependsを記述する。
それにより、testRecieveNumber()は、testGetNumber()に依存することになる。
testRecieveNumber()は、testGetNumber()の結果を受け取って、テストを実施することができる。

今回、確認するとき、コードを書いていて、エラーが発生した。
原因は、@dependsを書くときに、1行で書いたため、アノテーションとして判断されず、引数を受け取れなかった。

/* @depends testGetNumber */

/*
出力されたエラー
1) learnTest::testRecieveNumber
Missing argument 1 for learnTest::testRecieveNumber()
*/

// 以下の書き方でもNG。最初の/**が/*になっていて、*が1つ足りない。
/*
 * @depends testGetNumber
 */

コメント

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