自動テストツール PHPUnit Mockey

Mockeyとは

自動テストツール JUnit Mockito/PowerMockito」参照

Mock化

クラス単位でmockを作成
$mock = \Mockery::mock(クラス名::class);

メソッドを指定
$mock->shouldReceive('メソッド名')
 ->メソッド;

Mockメソッド一覧

メソッド 機能 備考
never 呼び出し回数検証(0回) ->never()
once 呼び出し回数検証(1回) ->once()
times 呼び出し回数検証(n回) ->times(3)
with 引数検証 ->with('laravel')
withNoArgs 引数なしを検証 ->withNoArgs()
withAnyArgs どんな引数が渡されても検証OK ->withAnyArgs()
withArgs メソッド引数を検証
->withArgs(function ($arg) {
  return $arg->id === 1 && $arg->name === 'laravel';
})

id=1、name=’laravel’の場合にテストOK
andReturn 戻り値検証 ->andReturn('laravel')
andReturnUsing 動的な戻り値検証
->andReturnUsing(function (〜) {
  return 〜;
}
andThrow 指定の例外であるか?を検証 ->andThrow(例外クラス名)