Sadly this is not possible with the default PHPUnit Mock API. I can see two options that can get you close to something like this: Using ->at($x) $context = $this->getMockBuilder('Context') ->getMock(); $context->expects($this->at(0)) ->method('offsetGet') ->with('Matcher') ->will($this->returnValue(new Matcher())); $context->expects($this->at(1)) ->method('offsetGet') ->with('Logger') ->will($thi