Symfony2功能测试$crawler不工作
我发现Symfony2中的功能测试总是试图请求页面为“http://localhost" 我的环境是用虚拟主机设置的,因此我的应用程序位于“http://symfony.dev" 经过一些测试,我发现如果我运行:Symfony2功能测试$crawler不工作,symfony,functional-testing,Symfony,Functional Testing,我发现Symfony2中的功能测试总是试图请求页面为“http://localhost" 我的环境是用虚拟主机设置的,因此我的应用程序位于“http://symfony.dev" 经过一些测试,我发现如果我运行: var_dump($client->getResponse()->getContent()); 我会得到我想要的页面,但如果我放弃$crawler,我可以看到它,而不是请求一个类似“的页面”http://symfony.dev/page“它请求”http://localh
var_dump($client->getResponse()->getContent());
我会得到我想要的页面,但如果我放弃$crawler,我可以看到它,而不是请求一个类似“的页面”http://symfony.dev/page“它请求”http://localhost/page"
这给了404,所以我无法测试表单等等
是否需要设置基本URL以使其正常工作?我是否应该使用不同的东西,比如Selenium?我发现我可以将域传递给客户端。我将使用此功能制作一个基本的
WebTestCase
,这样我的测试就可以工作了
$client=static::createClient(array(),array('HTTP_HOST'=>'symfony.dev');
$client->followRedirects(true);
进行功能测试访问是正常的,因为它不是完整的http请求,但它模拟了一个完整的http请求。尝试查看应用程序/日志以识别错误。我知道错误是什么。它正在访问localhost,它被设置为与我的应用程序不同的虚拟服务器,因此它请求的页面只是一个404。我想知道我是否可以改变域爬虫的用途,或者找到一个解决方法。