Al_*_*Al_ 3 php phpunit zend-framework
哪个是用phpunit在html字符串中断言某些内容的最好方法?
在Zend应用程序中,有许多断言assertQuery*可用.但是如果你不在Zend应用程序中?assertXml*看起来不合适.
例如,如果考虑到更改id属性的位置不会使测试失败,您如何断言标记<div ... id="myId" ...>...</div>存在$htmlString?
我建议你使用一些库解析HTML字符串,然后使用库API来编写断言.
有很多好的HTML/XML解析器,例如:
http://symfony.com/doc/current/components/dom_crawler.html
使用此选项,您可以使用CSS选择器,xpath等访问任何所需节点,并且可以检查属性是否独立于其位置.
$crawler = new Crawler($html);
$this->assertEquals(1, $crawler->filter('div#elementId')->count());
Run Code Online (Sandbox Code Playgroud)