Symfony 2功能测试
问题描述:
我目前正在尝试在Symfony 2中为我的每条路线编写功能测试。现在我正在测试以确保表单的所有元素都存在,并且它们是正确的输入类型。例如:Symfony 2功能测试
// Make sure there is a description field
$this->assertTrue($crawler->filter('#form_description')->count() === 1);
$this->assertTrue($crawler->filter('#form_description')->first()->text() == 'textarea', "Unable to verify #form_description is <textarea>");
不幸的是,text()似乎不会返回任何结果,我不知道为什么。与此测试运行PHPUnit给出以下输出:
有1次失败:
1)fixnit \ ReportBundle \测试\控制器\ ReportControllerTest :: testNew 无法验证#form_description是 失败断言错误是真的。
如何解决我的测试问题以获取搜寻器筛选器所返回元素的名称?
答
Docs履带说:
履带的实例代表一个DOMElement对象的一组(SplObjectStorage),这是基本节点,您可以轻松地穿越
因此,根据docs,你应该修改你的代码是这样的:
$formCrawler = $crawler->filter('#form_description')->first();
foreach($formCrawler as $domElement) {
$this->assertTrue(strtolower($domElement->nodeName) == 'textarea', "Unable to verify #form_description is <textarea>");
}