Сначала выкапываете бросок, затем возвращаете значение при втором вызове

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

К сожалению, он возвращает true, но не генерирует исключение. Как сделать исключение при первом вызове, а затем вернуть значение при втором вызове метода?

ИЗМЕНИТЬ

Это работает, если я вручную отредактировал Mockery\Expectation.php и установил $_throw = true.

$client->shouldReceive('send')->twice()->andReturn($error, true);

Ответ 1

$client->shouldReceive('send')->once()->andThrow($error);
$client->shouldReceive('send')->once()->andReturn(true);