8

Mail Facade に->with()テスト用のコマンドを受け入れさせることができないようです。

これは機能します:

Mail::shouldReceive('send')->once();

しかし、これは機能しません:

Mail::shouldReceive('send')->with('emails.welcome')->once();

どちらもこれをしません:

Mail::shouldReceive('send')->with('emails.welcome', array(), function(){})->once();

どちらもこれをしません:

Mail::shouldReceive('send')->with('emails.welcome', array(), function($message){})->once();

すべて次のエラーが発生します。

"No matching handler found for Illuminate\Mail\Mailer::send("emails.welcome", Array, Closure)"

では、メールをテストして受信内容を確認するにはどうすればよいでしょうか?

また、おまけとして、クロージャ内で Mail が何をしているのかをテストすることは可能ですか? つまり、何$message->to()に設定されているかを確認できますか?

編集:私のメールコード:

Mail::send("emails.welcome", $data, function($message)
{
    $message->to($data['email'], $data['name'])->subject('Welcome!');
});
4

1 に答える 1