Laravelの中に入っているライブラリらしいが、使い方がいまいちわかっておらぬ。Jestでモックの流れをある程度把握した(つもり)と思っているので、ぱっと見なにをやっているかは読めると思っているが、モックできているのかどうかがわからない。
<?php // 省略 $status = Password::broker('user')->sendResetLink([ 'email' => $email ]);
こんなコードを書いたとして、モックしたいとする。
<?php // 省略 // エラーを発生させる Notification::shouldReceive('send') ->once() ->andThrow(new \Exception());
sendResetLinkの奥深くにあるNotificationをモックする場合はこんな感じ
<?php // 省略 Password::shouldReceive('broker')->andReturn($broker = Mockery::mock(PasswordBroker::class)); /** @var Mockery\mock $broker */ $broker->shouldReceive('sendResetLink')->andReturn(Password::RESET_THROTTLED);
sendResetLink
をモックしたい場合は、 PasswordBroker::sendResetLink
をモックするだけじゃなくて、brokerからモックしないといけないことがわかったが、あんまりピンときていないマンです。
一旦メモ。