我有一个控制器测试用例,如下所示:
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可以抑制失败,但会隐藏任何后续错误(实际上甚至不会运行查询)。
再次编辑:
似乎没有一个明智的解决方案,所以我最终在破坏断言前添加了@。
答案 0 :(得分:1)
看起来DOMDocument
会对html5产生影响。你可以试试Xpath:
$this->assertXpath("//form[@id = 'login']");