2013-07-20 71 views
12
$client = Mockery::mock(); 
$client->shouldReceive('send')->andThrow($error)->andReturn(true); 

不幸的是,它只返回true,但不是首先抛出异常。如何在第一次调用时抛出异常,然后在第二次调用该方法时返回值?第一次嘲讽然后返回第二次电话返回值

编辑

这工作如果我手动编辑Mockery\Expectation.php并设置$_throw = true

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

回答

21
$client->shouldReceive('send')->once()->andThrow($error); 
$client->shouldReceive('send')->once()->andReturn(true); 
相关问题