Функциональное тестирование Symfony 2 - PullRequest
0 голосов
/ 04 февраля 2012

В настоящее время я пытаюсь написать функциональные тесты в Symfony 2 для каждого из моих маршрутов. Прямо сейчас я проверяю, чтобы убедиться, что все элементы формы присутствуют и что они имеют правильный тип ввода. Например:

// Make sure there is a description field
$this->assertTrue($crawler->filter('#form_description')->count() === 1);
$this->assertTrue($crawler->filter('#form_description')->first()->text() == 'textarea', "Unable to verify #form_description is <textarea>");

К сожалению, text () ничего не возвращает, и я не знаю почему. Запуск phpunit с этим тестом дает следующий вывод:

Произошел 1 сбой:

1) fixnit \ ReportBundle \ Tests \ Controller \ ReportControllerTest :: testNew Невозможно проверить, #form_description is Не удалось утверждать, что false - это правда.

Как мне исправить мой тест, чтобы получить имя элемента, возвращаемого фильтром сканера?

1 Ответ

0 голосов
/ 05 февраля 2012

Документы для сканера говорят:

Экземпляр Crawler представляет набор (SplObjectStorage) объектов DOMElement, которые в основном являются узлами, которые вы можете легко проходить

Итак, согласно документации, вы должны изменить свой код примерно так:

$formCrawler = $crawler->filter('#form_description')->first();
foreach($formCrawler as $domElement) {
  $this->assertTrue(strtolower($domElement->nodeName) == 'textarea', "Unable to verify #form_description is <textarea>");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...