是否可以通过这种方式配置PHPUnit模拟?
$context = $this->getMockBuilder('Context') ->getMock(); $context->expects($this->any()) ->method('offsetGet') ->with('Matcher') ->will($this->returnValue(new Matcher())); $context->expects($this->any()) ->method('offsetGet') ->with('Logger') ->will($this->returnValue(new Logger()));
我使用PHPUnit 3.5.10,当我要求Matcher时,它会失败,因为它需要“ Logger”参数。就像第二个期望重写了第一个期望一样,但是当我转储模拟时,一切看起来都还不错。
从PHPUnit 3.6开始,$this->returnValueMap()根据给定给方法存根的参数,可以使用它来返回不同的值。
$this->returnValueMap()