Как прослушать события в тестах в Laravel 5?

Я пытаюсь проверить электронную почту в 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';
});
}

Как прослушать конкретное событие в тестовом примере и вызвать код в ответ на него?

1

Решение

Laravel обеспечивает expectsEvents метод: https://laravel.com/docs/5.2/testing#mocking-events

$this->expectsEvents(Illuminate\Mail\Events\MessageSending::class);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]