phpunit不同的返回值模拟方法的每个调用



例如,我有一个模拟类,如下:

$mock= $this->getMockBuilder("SomeClass")->disableOriginalConstructor()->getMock();
$mock->expects($this->any())
     ->method("someMethod")
     ->will($this->returnValue("RETURN VALUE"));

someMethod的唯一参数是数组$arr

我想做的是首次召集someMethod时返回$arr[0],第二次$arr[1]等。

$arr的大小是动态的。

如果可能的话,任何想法如何实现?

$mock->expects($this->any())
    ->method("someMethod")
    ->will($this->onConsecutiveCalls(1, 2, 3));

使用OnConsecutiveCalls,您可以为每个呼叫的呼叫设置一个返回值。第一个呼叫返回1.第二个呼叫2.第三个呼叫3。

最新更新