Тестирование контроллеров Zend Framework, которые возвращают HTML5 - PullRequest
0 голосов
/ 22 февраля 2010

У меня есть тестовый пример контроллера, который выглядит следующим образом:

class LoginControllerTest extends Zend_Test_PHPUnit_ControllerTestCase
{
    public function testLoginFormIsShown()
    {
        $this->dispatch('/login');
        $this->assertQuery('form#login');
    }
}

Однако наш сайт написан с использованием HTML5 и содержит такие элементы, как

, что создает предупреждение, когда ZF внутренне вызывает DomDocument :: loadHtml () на выходе:
1) LoginControllerTest::testLoginFormIsShown
DOMDocument::loadHTML(): Tag header invalid in Entity, line: 8

Как я могу либо сказать ZF не передавать эту ошибку, либо заставить PHPUnit не рассматривать предупреждение как ошибку? Я не хочу отказываться от отчетов об ошибках для всего набора тестов.

EDIT:

Добавление @expectedException PHPUnit_Framework_Error_Warning к методу теста подавляет сбой, но скрывает любые последующие ошибки (и фактически даже не запускает запрос).

ИЗМЕНИТЬ СНОВА:

Кажется, здесь нет разумного решения, поэтому я добавил @ перед критическими утверждениями.

1 Ответ

1 голос
/ 22 февраля 2010

Похоже, DOMDocument имеет проблемы с HTML5. Вы можете попробовать Xpath:

$this->assertXpath("//form[@id = 'login']");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...