如何在Prophecy中模拟相同的方法,以便在每个调用中返回不同的响应

Mar*_*elo 3 php tdd bdd prophecy

在纯PHPUnit模拟中,我可以执行以下操作:

$mock->expects($this->at(0))
    ->method('isReady')
    ->will($this->returnValue(false));

$mock->expects($this->at(1))
    ->method('isReady')
    ->will($this->returnValue(true));
Run Code Online (Sandbox Code Playgroud)

我无法使用预言做同样的事情。可能吗?

cel*_*ric 5

您可以使用:

$mock->isReady()->willReturn(false, true);
Run Code Online (Sandbox Code Playgroud)

显然它没有记录(请参阅https://gist.github.com/gquemener/292e7c5a4bbb72fd48a8)。