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

Метод assertFormValue

Метод assertFormValue относится к секции тестирования Symfony и проверяет, что указанное поле формы содержит ожидаемое значение. Первым параметром передаётся CSS-селектор формы, вторым - имя поля, третьим - ожидаемое значение. Если значение поля не совпадает с ожидаемым, тест завершается ошибкой.

Синтаксис

assertFormValue(string $formSelector, string $fieldName, string $value)

Пример

Давайте создадим контроллер с формой и проверим значение поля title через метод assertFormValue:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/form', name: 'article_form')] public function form(): Response { return $this->render('article/form.html.twig'); } } ?>

Теперь создадим Twig-шаблон с формой:

<form name="article" method="post"> <input type="text" name="article[title]" value="abcde"> <button type="submit">Send</button> </form>

Напишем тест, который проверяет значение поля формы:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testFormValue(): void { $client = static::createClient(); $crawler = $client->request('GET', '/article/form'); $this->assertFormValue('form[name="article"]', 'article[title]', 'abcde'); } } ?>

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

OK (1 test, 1 assertion)

Пример

Давайте проверим, что поле формы содержит другое значение, и убедимся, что тест завершится ошибкой:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testFormValueFails(): void { $client = static::createClient(); $crawler = $client->request('GET', '/article/form'); $this->assertFormValue('form[name="article"]', 'article[title]', 'hello'); } } ?>

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

Failed asserting that two strings are equal. Expected :'hello' Actual :'abcde'

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

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