2

我正在尝试在 laravel 5 中测试电子邮件,我意识到每当发送邮件时都会Swift_Mailer触发事件。Illuminate\Mail\Events\MessageSending

但由于我是初学者,我无法理解如何收听此事件并取出底层消息对象?

我已经尝试过了,但我不认为这是正确的:

public function test_the_email_via_listening_to_message_sending_event()
{
    $user = factory(User::class)->create();
    Event::fire(new UserWasCreated($user));

    Event::listen(Illuminate\Mail\Events\MessageSending::class, function($message){
        echo 'Hello';
    });
}

如何监听测试用例中的特定事件并触发代码以响应它?

4

1 回答 1

0

Laravel 提供了一个expectsEvents方法:https ://laravel.com/docs/5.2/testing#mocking-events

$this->expectsEvents(Illuminate\Mail\Events\MessageSending::class);
于 2016-04-04T15:41:10.183 回答