测试返回HTML5的Zend Framework控制器

时间:2010-02-22 13:15:17

标签: php zend-framework phpunit

我有一个控制器测试用例,如下所示:

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

但是我们的网站是使用HTML5编写的,包含< HEADER>等元素,当ZF内部调用输出上的DomDocument :: loadHtml()时会产生警告:

1) LoginControllerTest::testLoginFormIsShown
DOMDocument::loadHTML(): Tag header invalid in Entity, line: 8

如何告诉ZF不要传递此错误,或让PHPUnit不将警告视为错误?我不想拒绝整个测试套件的错误报告。

修改

将@expectedException添加到测试方法中的PHPUnit_Framework_Error_Warning可以抑制失败,但会隐藏任何后续错误(实际上甚至不会运行查询)。

再次编辑:

似乎没有一个明智的解决方案,所以我最终在破坏断言前添加了@。

1 个答案:

答案 0 :(得分:1)

看起来DOMDocument会对html5产生影响。你可以试试Xpath:

$this->assertXpath("//form[@id = 'login']");