I have a simple use case. I want to have a setUp method which will cause my mock object to return a default value:
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
But then in some tests, I want to return a different value:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
I've used GoogleMock for C++ in the past and it had "returnByDefault" or something to handle that. I couldn't figure out if this is possible in PHPUnit (there is no api documentation and the code is difficult to read through to find what I want).
Now I can't just change $this->myservice
to a new mock, because in setup, I pass it into other things that need to be mocked or tested.
My only other solution is that I lose the benefit of the setup and instead have to build up all of my mocks for every test.