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

Метод assertEmailAddressContains

Метод assertEmailAddressContains относится к классу MailerAssertionsTrait и используется в тестах Symfony для проверки email-сообщений. Первым параметром передаётся поле письма (например, 'to', 'from', 'cc', 'bcc', 'replyTo'), вторым - ожидаемый email адрес, третьим - объект письма. Если адрес не найден в указанном поле, тест завершается ошибкой.

Синтаксис

assertEmailAddressContains(string $headerName, string $address, RawMessage $email)

Пример

Давайте отправим письмо в тесте и проверим, что адрес получателя совпадает с ожидаемым:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\Mime\Email; class MailControllerTest extends WebTestCase { public function testEmailAddress(): void { $client = static::createClient(); $email = (new Email()) ->from('sender@example.com') ->to('user@example.com') ->subject('hello') ->text('article'); $mailer = static::getContainer()->get('mailer'); $mailer->send($email); $this->assertEmailCount(1); $message = $this->getMailerMessage(); $this->assertEmailAddressContains('to', 'user@example.com', $message); } } ?>

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

"OK (1 test, 2 assertions)"

Пример

Давайте проверим адрес отправителя в поле 'from':

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\Mime\Email; class MailControllerTest extends WebTestCase { public function testFromAddress(): void { $client = static::createClient(); $email = (new Email()) ->from('sender@example.com') ->to('user@example.com') ->subject('hello') ->text('article'); $mailer = static::getContainer()->get('mailer'); $mailer->send($email); $message = $this->getMailerMessage(); $this->assertEmailAddressContains('from', 'sender@example.com', $message); } } ?>

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

"OK (1 test, 2 assertions)"

Пример

Давайте проверим, что адрес получателя отсутствует в поле 'cc', и тест завершится ошибкой:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\Mime\Email; class MailControllerTest extends WebTestCase { public function testCcAddress(): void { $client = static::createClient(); $email = (new Email()) ->from('sender@example.com') ->to('user@example.com') ->cc('copy@example.com') ->subject('hello') ->text('article'); $mailer = static::getContainer()->get('mailer'); $mailer->send($email); $message = $this->getMailerMessage(); $this->assertEmailAddressContains('cc', 'other@example.com', $message); } } ?>

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

"Failed asserting that the email address 'other@example.com' is contained in the 'cc' header of the email."

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

  • метод assertEmailCount,
    который проверяет количество отправленных писем
  • метод assertEmailHtmlBodyContains,
    который проверяет HTML-содержимое письма
  • метод assertEmailTextBodyContains,
    который проверяет текстовое содержимое письма
  • метод assertEmailHasHeader,
    который проверяет наличие заголовка в письме
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить