Метод assertEmailTextBodyContains
Метод assertEmailTextBodyContains относится к группе assert-методов для тестирования электронной почты в Symfony. Он проверяет, что текстовая часть (plain text) тела письма содержит заданную подстроку. Первым параметром передаётся объект письма Email, вторым - искомая строка. Если подстрока не найдена, тест завершается с ошибкой.
Синтаксис
assertEmailTextBodyContains(Email $email, string $expectedText): void
Пример
Давайте отправим письмо в тестовом окружении и проверим, что его текстовая версия содержит строку 'hello':
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\Mime\Email;
class MailControllerTest extends WebTestCase
{
public function testEmailTextBody(): void
{
$client = static::createClient();
$client->request('GET', '/send-mail');
$email = $this->getMailerMessage();
$this->assertEmailTextBodyContains($email, 'hello');
}
}
?>
Пример
Давайте проверим, что текстовая версия письма содержит имя пользователя:
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\Mime\Email;
class UserMailTest extends WebTestCase
{
public function testUserMailTextBody(): void
{
$client = static::createClient();
$client->request('POST', '/user/register', [
'name' => 'abcde',
]);
$email = $this->getMailerMessage();
$this->assertEmailTextBodyContains($email, 'abcde');
}
}
?>
Пример
Давайте проверим, что текстовая версия письма содержит определённую фразу:
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Component\Mime\Email;
class ArticleMailTest extends WebTestCase
{
public function testArticleMailTextBody(): void
{
$client = static::createClient();
$client->request('GET', '/article/send');
$email = $this->getMailerMessage();
$this->assertEmailTextBodyContains($email, 'article');
}
}
?>
Смотрите также
-
метод
assertEmailHtmlBodyContains,
который проверяет HTML-версию тела письма -
метод
assertEmailCount,
который проверяет количество отправленных писем -
метод
assertEmailAddressContains,
который проверяет адрес получателя -
метод
assertEmailHasHeader,
который проверяет наличие заголовка письма