2014-11-08 52 views
0

我已经定义使用模式中的Symfony2的HTTPS路线:(下文YAML)PHP - Symfony2的功能测试HTTPS路由

login: 
    path:  /login 
    defaults: { _controller: RESTAPI:Login:login } 
    methods: [POST] 
    schemes: [https] 

现在我想的是非常的路线上进行功能测试,

(我的测试类从WebTestCase派生)

$client = static::createClient(); 
$client->request('POST', '/login'); 
$response = $client->getResponse(); 

我似乎总是得到Symfony的,而不是我的真实控制器的响应RedirectResponse,因为Symfony的返回重定向响应当t试图使用HTTP访问HTTPS路由。

我该如何解决这个问题并测试我的路线?

谢谢。

回答

1

我不小心碰到这样的:

为了模拟HTTPS请求,你只需要设置[“HTTPS” =>真]在$客户端 - >请求()的$服务器参数;

实施例:

$client = static::createClient(); 
$client->request('POST', '/login', [], [], ['HTTPS' => true]);