【发布时间】:2011-08-15 19:56:02
【问题描述】:
我想用不同的预期参数调用我的模拟方法两次。这不起作用,因为expects($this->once()) 在第二次调用时会失败。
$mock->expects($this->once())
->method('foo')
->with('someValue');
$mock->expects($this->once())
->method('foo')
->with('anotherValue');
$mock->foo('someValue');
$mock->foo('anotherValue');
我也试过了:
$mock->expects($this->exactly(2))
->method('foo')
->with('someValue');
但是如何添加 with() 来匹配第二次调用?
【问题讨论】:
-
为什么需要匹配参数?你不能用 onConsecutiveCalls() 说“第一次,返回这个,第二次返回那个”吗?你会使用exactly(2) 和onConsecutiveCalls()
-
来自相关块的相同question。