オブジェクトをモックし、そのプロパティを設定する方法を前に進めています。別のオブジェクトのプロパティを使用するメソッドの例を次に示します。
_class MyClass {
private $_object;
public function methodUnderTest($object) {
$this->_object = $object;
return $this->_object->property
}
}
_
このメソッドを単体テストするには、PHPUnit
のgetMockBuilder()
メソッドで_$object
_のモックを作成する必要があります。しかし、メソッドだけではなく_$object
_のプロパティをモックする方法が見つかりません。
模擬オブジェクトにプロパティを追加するには、オブジェクトで通常行うようにプロパティを設定するだけです。
$mock = $this->getMockBuilder('MyClass')
->disableOriginalConstructor()
->getMock();
$mock->property = 'some_value';
$mock->property
は'some_value'
を返すようになりました
akondに感謝
追伸私のプロジェクトでは、これは一部のクラスでは機能せず、$mock->property
を呼び出そうとするとNULL
を返すだけです。