我想模拟一个类的方法来返回特定值:
$this->mock
->method('method')
->willReturn($this->returnValue('foo'))
;
此方法将由另一个使用它的结果的方法在内部调用。该方法实际上是被模拟但它返回:
class PHPUnit_Framework_MockObject_Stub_Return#471 (1) {
protected $value =>
string(3) "foo"
}
而不是字符串。并且使用此方法的代码在内部中断。
如何让mock返回一个真正的字符串而不是这个对象?
我尝试了returnCallback
,但它返回了一些更奇怪的东西......
PHPUnit
v5.7.19
PHP
v7.1.4
答案 0 :(得分:0)
我错误地使用了PHPUnit
API。它应如下所示:
$this->mock
->method('method')
->will($this->returnValue('foo'))
;
注意->will
而不是->willReturn
。