Question

$client = Mockery::mock();
$client->shouldReceive('send')->andThrow($error)->andReturn(true);

Unfortunately it only returns true but not throw the exception first. How do I throw an exception on first call then return value on second call of the method?

EDIT:

This works if I manually edit Mockery\Expectation.php and set $_throw = true.

$client->shouldReceive('send')->twice()->andReturn($error, true);
Was it helpful?

Solution

$client->shouldReceive('send')->once()->andThrow($error);
$client->shouldReceive('send')->once()->andReturn(true);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top