在symfony2控制器上,我想測試一個控制器,它返回一個Response
對象。我的測試課程從WebTestCase
延伸。我使用static::createClient()
來獲得運營客戶端。symfony2控制器的功能測試:如何生成路徑
我的問題是在我當前安裝的虛擬主機上調用好路由。
$client->getContainer()->get('router')->generate('my_route', array(), true)
以本地主機爲主機生成路由。但是這不起作用,因爲我的主機是myproject.local。
$client->getContainer()->get('kernel')->getRootDir()
和其他dir方法提供的linux文件路徑,不是web路徑。
我不能硬編碼,因爲我並不孤單。那麼獲得正確路線的方法是什麼?還是有另一種方法來測試控制器?
爲什麼你傳遞TRUE;作爲第三個參數'generate'方法?你真的需要一個絕對的URL生成嗎? – 2013-03-19 12:05:07
是的,因爲默認網址也通過本地主機鏈接。 或者我需要另一種方法來測試我的控制器。 – AlphaB 2013-03-19 12:26:12
是不是使用Symfony提供的測試客戶端? – 2013-03-19 12:32:04