PHPUnit,断言html内容
用phpunit断言html字符串中的某些内容的最佳方法是什么 在Zend应用程序中,有大量断言可用。但是如果您不在Zend应用程序中<代码>资产XML*看起来不合适PHPUnit,断言html内容,php,zend-framework,phpunit,Php,Zend Framework,Phpunit,用phpunit断言html字符串中的某些内容的最佳方法是什么 在Zend应用程序中,有大量断言可用。但是如果您不在Zend应用程序中资产XML*看起来不合适 例如,考虑到更改id属性的位置不会使测试失败,您如何断言标记..存在于$htmlString中?我建议您使用一些库解析HTML字符串,然后使用库API编写断言 有很多优秀的HTML/XML解析器,例如: 通过使用CSS选择器、xpath等,您可以访问任何所需的节点,并且可以检查属性是否独立于其位置而存在 $crawler = new C
例如,考虑到更改id属性的位置不会使测试失败,您如何断言标记
..
存在于$htmlString
中?我建议您使用一些库解析HTML字符串,然后使用库API编写断言
有很多优秀的HTML/XML解析器,例如:
通过使用CSS选择器、xpath等,您可以访问任何所需的节点,并且可以检查属性是否独立于其位置而存在
$crawler = new Crawler($html);
$this->assertEquals(1, $crawler->filter('div#elementId')->count());
您还可以编写一个自定义断言来自动执行此过程,以便断言:
$this->assertHtmlContainsSelector($html, 'div#elementId');
这是个好办法。考虑到您的
爬虫示例,我更倾向于考虑php内置函数或预装库。我将对DOMDocument
进行类似操作,即$doc=DOMDocument$doc->loadHTML($html)$这->资产真((bool)$doc->getElementById('elementId')代码>