我正在尝试发送测试电子邮件并断言(使用事件)已发送。
测试运行良好,并且实际上发生了事件(我正在LogSendingMessage类上记录事件处理程序方法),但是expectsEvents
从未声明过,在Mail::send
方法之前也没有声明过。
public function testSendSimpleMailOverSMTP()
{
// Send methods
$fromMail = 'my@mail.com';
$fromName = 'Tiago Gouvêa';
$toMail = 'myanother@mail.com';
$toName = 'Tiago Gouvêa';
$subject = 'Mail testing123';
$view = 'SimpleMail';
$data = array('body' => "Olá fulano");
$this->expectsEvents(Illuminate\Mail\Events\MessageSending::class);
$this->expectsEvents(Illuminate\Mail\Events\MessageSent::class);
Mail::send($view, $data, function (Illuminate\Mail\Message $message) use ($toMail, $toName, $fromMail, $fromName, $subject) {
$message->to($toMail, $toName)->subject($subject);
$message->from($fromMail, $fromName);
});
}
在堆栈上还有另一个类似的问题,但是没有一个对我有用。感谢您的帮助。 :)