我发现Symfony2中的功能测试总是尝试将页面请求为“http:// localhost”
我的环境是使用虚拟主机设置的,所以我的应用程序位于“http://symfony.dev”
经过一些测试,我发现如果我跑:
var_dump($client->getResponse()->getContent());
我将获得我想要的页面,但如果我var_dump $ crawler我可以看到,而不是请求像“http://symfony.dev/page”这样的页面,它请求“http:// localhost / page”
这给了404,所以我无法测试表格等等。
是否有设置基本URL以使其工作?我应该使用像Selenium这样不同的东西吗?
答案 0 :(得分:13)
我发现我可以将域名传递给客户端。我将使用此功能创建一个基础WebTestCase
,以便我的测试工作。
$client = static::createClient(array(), array('HTTP_HOST' => 'symfony.dev'));
$client->followRedirects(true);