Как получать сообщения, отправленные почтовым драйвером `array`? - PullRequest
0 голосов
/ 05 сентября 2018

Начиная с версии 5.7 Laravel предлагает использовать драйвер array для Mail во время тестирования:

К сожалению, документация ничего не говорит об этом драйвере. Согласно исходному коду , драйвер сохраняет все сообщения в памяти, фактически не отправляя их. Как получить сохраненные «отправленные» сообщения во время юнит-тестирования (для их проверки)?

1 Ответ

0 голосов
/ 05 сентября 2018

Звоните app()->make('swift.transport')->driver()->messages(). Возвращаемое значение представляет собой коллекцию Swift_Mime_SimpleMessage объектов.

Пример полного теста PHPUnit:

public function testEmail()
{
    Mail::to('user@example.com')->send(new MyMail);

    $emails = app()->make('swift.transport')->driver()->messages();
    $this->assertCount(1, $emails);
    $this->assertEquals(['user@example.com'], array_keys($emails[0]->getTo()));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...