【发布时间】:2013-11-14 11:16:25
【问题描述】:
您好,我使用 phpunit 进行测试,使用 Symfony\Bundle\FrameworkBundle\Test\WebTestCase 进行单元测试。到目前为止没有问题,但现在我们开始使用 https,我的测试不再工作了。我开始为我的测试中的每个请求获取 301 响应代码。我的问题是我如何告诉 Symfony\Component\HttpKernel\Client 向 https://localhost.com/uri 而不是 http://localhost.com/uri ?
编辑
在 symfony 网站http://symfony.com/doc/current/book/testing.html 他们展示了如何配置服务器参数并且有一个代码和平之类的
$client->request(
'GET',
'/demo/hello/Fabien',
array(),
array(),
array(
'CONTENT_TYPE' => 'application/json',
'HTTP_REFERER' => '/foo/bar',
'HTTP_X-Requested-With' => 'XMLHttpRequest',
)
);
我尝试将 http://php.net/manual/en/reserved.variables.server.php 中提到的 HTTPS 元素更改为我的代码
$client->request('GET',
'/'.$version.'/agencies/'.$agencyId,
array(),
array(),
array('HTTPS' => 'on')
);
但是还是不行?
【问题讨论】:
-
你试过 $client->request('GET', 'localhost/uri'); ?
-
他想要一个 https 请求而不是 http 请求。
-
$this->createClient() 的第三个参数是一个服务器数组。如果设置“https”元素会怎样?
-
@WouterJ 我在编辑中尝试并解释了
-
@OmerTemel 我说的是 createClient 的第三个参数,你使用了 request 的第四个参数
标签: php symfony https http-status-code-301 functional-testing