ПРИМЕЧАНИЕ. Это основано на видео под названием «Тестирование электронной почты с пользовательскими утверждениями», которое Джеффри Уэй снял на Laracasts.com. Если у вас нет учетной записи на этом сайте, вам следует ее создать. Это потрясающий ресурс. Мы только что взяли этот пример и сделали его простым в установке пакетом. Спасибо, Джеффри!
Почтовые утверждения PHPUnit для тестирования электронной почты в Laravel.
Ветвь | Статус | Покрытие | Качество кода |
---|---|---|---|
Развивать | |||
Владелец |
Установите пакет внутри зависимостей разработки:
$ композитору требуется spinen/laravel-mail-assertions --dev
Чтобы пакет мог делать утверждения по вашим электронным письмам, он должен иметь возможность «читать» сообщения. Он делает это путем анализа журнала Laravel, поэтому для работы этого пакета ваш почтовый драйвер должен быть «журналом».
Вы смешиваете утверждения с чертой SpinenMailAssertionsMailTracking
. Вы получаете следующие утверждения...
см. электронную почтуBcc
см. Электронную почтуCc
см.Электронная почтаСодержит
см.EmailContentTypeEquals
см.EmailCountEquals
см. Электронная почтаDoesNotContain
см. электронную почтуEquals
см. адрес электронной почты от
см.EmailPriorityEquals
см. Электронную почтуОтветитьКому
см.EmailSubjectContains
см.EmailSubjectDoesNotContain
см.EmailSubjectEquals
см. адрес электронной почты
см. Электронная почта не была отправлена
см. Электронная почта была отправлена
ПРИМЕЧАНИЕ. Если было отправлено более одного электронного письма, утверждения рассматриваются по последнему электронному письму.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;класс exampleTest расширяет TestCase {use MailTracking;/** * Пример базового функционального теста. * * @return void */public function testBasicExample() {$this->visit('/маршрут-который-отправляет-электронное письмо') ->см.EmailWasSent() ->seeEmailSubject('Привет, мир') ->seeEmailTo('[email protected]') ->seeEmailEquals('Нажмите здесь, чтобы купить это украшение.') ->seeEmailContains('Нажмите здесь'); } }