I want to call my mocked method twice with different expected arguments. This doesn't work because expects($this->once()) will fail on the second call.

$mock->expects($this->once())
     ->method('foo')
     ->with('someValue');

$mock->expects($this->once())
     ->method('foo')
     ->with('anotherValue');

$mock->foo('someValue');
$mock->foo('anotherValue');

I have also tried:

$mock->expects($this->exactly(2))
     ->method('foo')
     ->with('someValue');

But how do I add a with() to match the second call?

Edit
Report