我在使用assertQuery()时遇到了问题。在我的html中(通过输出正文进行验证)
<input type="text" name="LASTNAME" id="LASTNAME" value="" maxlength="25" size="20" />
所以我为它编写了一个查询来测试以确保该元素存在并且该值为空
$this->assertQuery('input#LASTNAME[value=""]', 1);
PhpUnit 说断言失败
Failed asserting node DENOTED BY input#LASTNAME[value=""] EXISTS
你能给我一些关于这个断言失败的原因以及如何正确编写它的见解吗?
提前致谢!
最佳答案
Zend Framework 将 CSS 选择器转换为 XPath 查询的代码已损坏。它不会在属性名称之前添加所需的 @
。使用这个,尽管 CSS 不正确,断言:
$this->assertQuery('input#LASTNAME[@value=""]', 1);
参见this forum thread了解详情。
更新:issue was reported和 fixed in release 1.10 ,因此您可以升级 Zend Framework 作为使用无效 CSS 选择器的替代方法。
关于phpUnit -assertQuery 失败并显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149255/