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

残念ながら、例外は最初に例外をスローしません。最初の呼び出しで例外をスローし、メソッドの2番目の呼び出しで値を返すにはどうすればよいですか?モックが最初にスローしてから2番目の呼び出しで値を返します

EDIT

私は手動で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); 
関連する問題