在Laravel / PHPUnit上进行测试时,事件侦听器从不声明

时间:2018-09-24 17:26:25

标签: laravel phpunit lumen laravel-testing phpunit-testing

我正在尝试发送测试电子邮件并断言(使用事件)已发送。

测试运行良好,并且实际上发生了事件(我正在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);
    });
}

在堆栈上还有另一个类似的问题,但是没有一个对我有用。感谢您的帮助。 :)

0 个答案:

没有答案