我似乎无法让邮件外观接受->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 以检查它正在接收什么?
另外 - 对于奖励积分 - 是否可以测试 Mail 在封闭内所做的事情?即我可以检查$message->to()
设置的内容吗?
编辑:我的邮件代码:
Mail::send("emails.welcome", $data, function($message)
{
$message->to($data['email'], $data['name'])->subject('Welcome!');
});