2012-02-03 121 views
0

我目前正在嘗試在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是 失敗斷言錯誤是真的。

如何解決我的測試問題以獲取搜尋器篩選器所返回元素的名稱?

回答

0

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>"); 
}