在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