PHPUnit で親メソッドをモックするにはどうすればいいですか? 質問する

PHPUnit で親メソッドをモックするにはどうすればいいですか? 質問する

同じ名前の親メソッドを呼び出すクラス メソッドをテストしたいのですが、これを行う方法はありますか?

class Parent {

    function foo() {
        echo 'bar';
    }
}

class Child {

    function foo() {
            $foo = parent::foo();
            return $foo;
    }
}

class ChildTest extend PHPUnit_TestCase {

    function testFoo() {
        $mock = $this->getMock('Child', array('foo'));

        //how do i mock parent methods and simulate responses?
    }
}

ベストアンサー1

テスト対象 (SUT) 内のメソッドをモックまたはスタブ化しないでください。SUT の親内のメソッドをモックまたはスタブ化する必要があると思われる場合は、継承ではなく集約を使用する必要があることを意味します。

あなたは嘲笑する依存関係テスト対象の。つまり、SUT が作業を行うために必要なその他のオブジェクトです。

おすすめ記事