Метод assertEmailHtmlBodyContains
Метод assertEmailHtmlBodyContains относится к тестовым утверждениям Symfony
и проверяет, что в HTML-версии тела письма присутствует заданный текст.
Первым параметром передаётся объект письма Email,
вторым - искомая подстрока.
Если строка не найдена, тест падает с исключением.
Синтаксис
assertEmailHtmlBodyContains(Email $email, string $text)
Пример
Давайте отправим письмо в тесте и проверим, что его HTML-тело содержит слово 'hello':
<?php
namespace AppTestsController;
use SymfonyBundleFrameworkBundleTestWebTestCase;
use SymfonyComponentMimeEmail;
class MailControllerTest extends WebTestCase
{
public function testEmailHtmlBody(): void
{
$client = static::createClient();
$client->request('GET', '/send-mail');
$email = $this->getMailerMessage();
$this->assertEmailHtmlBodyContains($email, 'hello');
}
}
?>
Результат выполнения теста:
OK (1 test, 1 assertion)
Пример
Давайте проверим, что HTML-тело письма содержит имя пользователя 'user':
<?php
namespace AppTestsController;
use SymfonyBundleFrameworkBundleTestWebTestCase;
class UserMailTest extends WebTestCase
{
public function testUserInHtmlBody(): void
{
$client = static::createClient();
$client->request('POST', '/register', [
'name' => 'user',
]);
$email = $this->getMailerMessage();
$this->assertEmailHtmlBodyContains($email, 'user');
}
}
?>
Результат выполнения теста:
OK (1 test, 1 assertion)
Смотрите также
-
метод
assertEmailTextBodyContains,
который проверяет текстовое тело письма -
метод
assertEmailCount,
который проверяет количество отправленных писем -
метод
assertEmailAddressContains,
который проверяет адрес получателя письма -
метод
assertEmailHasHeader,
который проверяет наличие заголовка письма