如何在 PHPUnit_Framework_MockObject_Stub_ReturnValueMap 对象上设置 属性?
How to set property on PHPUnit_Framework_MockObject_Stub_ReturnValueMap object?
来自测试方法的代码片段:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap(['foo', new FooMock()]));
$service->doSomething($mock);
Return 值模拟:
class FooMock {
public $bar;
public function __construct() {
$this->bar = new \stdClass;
}
}
我正在测试的代码:
class Service {
function doSomething($object) {
//do something
return $object->get('foo')->bar;
}
}
错误:
Undefined property:
PHPUnit_Framework_MockObject_Stub_ReturnValueMap::$bar
在您的代码中:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap(['foo', new FooMock()]));
您使用参数调用 returnValueMap
- 数组 ['foo', new FooMock()]
。但是,该方法需要一个包含映射 (documentation) 的 数组数组 。试试这个:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap([['foo', new FooMock()]]));
来自测试方法的代码片段:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap(['foo', new FooMock()]));
$service->doSomething($mock);
Return 值模拟:
class FooMock {
public $bar;
public function __construct() {
$this->bar = new \stdClass;
}
}
我正在测试的代码:
class Service {
function doSomething($object) {
//do something
return $object->get('foo')->bar;
}
}
错误:
Undefined property: PHPUnit_Framework_MockObject_Stub_ReturnValueMap::$bar
在您的代码中:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap(['foo', new FooMock()]));
您使用参数调用 returnValueMap
- 数组 ['foo', new FooMock()]
。但是,该方法需要一个包含映射 (documentation) 的 数组数组 。试试这个:
$mock->expects($this->any())
->method('get')
->willReturn($this->returnValueMap([['foo', new FooMock()]]));