РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1134 of 1361 menu

Метод assertEmailHasHeader

Метод assertEmailHasHeader относится к группе методов проверки почты и вызывается внутри тестового класса, унаследованного от WebTestCase. Он проверяет, что у письма присутствует указанный заголовок. Первым параметром передаётся объект письма или его индекс, вторым - имя заголовка.

Метод удобно использовать после выполнения запроса, который приводит к отправке письма. Если заголовок отсутствует, тест завершается ошибкой.

Синтаксис

assertEmailHasHeader(Email $email, string $headerName)

Пример

Давайте отправим письмо из контроллера и проверим наличие заголовка 'X-Custom-Header':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentMailerMailerInterface; use SymfonyComponentMimeEmail; use SymfonyComponentRoutingAttributeRoute; class MailController extends AbstractController { #[Route('/send', name: 'mail_send')] public function send(MailerInterface $mailer): Response { $email = (new Email()) ->from('from@example.com') ->to('to@example.com') ->subject('hello') ->text('article') ->getHeaders() ->addTextHeader('X-Custom-Header', 'abcde'); $mailer->send($email); return new Response('sent'); } } ?>

Теперь напишем тест, который проверяет заголовок:

<?php namespace AppTests; use SymfonyBundleFrameworkBundleTestWebTestCase; class MailTest extends WebTestCase { public function testEmailHeader(): void { $client = static::createClient(); $client->request('GET', '/send'); $this->assertEmailCount(1); $email = $this->getMailerMessage(); $this->assertEmailHasHeader($email, 'X-Custom-Header'); } } ?>

Результат выполнения теста:

"OK (1 test, 2 assertions)"

Пример

Давайте проверим стандартный заголовок 'Subject' у письма:

<?php namespace AppTests; use SymfonyBundleFrameworkBundleTestWebTestCase; class MailTest extends WebTestCase { public function testSubjectHeader(): void { $client = static::createClient(); $client->request('GET', '/send'); $email = $this->getMailerMessage(); $this->assertEmailHasHeader($email, 'Subject'); $this->assertEmailHasHeader($email, 'From'); $this->assertEmailHasHeader($email, 'To'); } } ?>

Результат выполнения теста:

"OK (1 test, 4 assertions)"

Смотрите также

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить