PHP - Symfony2功能测试HTTPS路由

时间:2014-11-08 15:04:57

标签: php symfony testing https functional-programming

我已使用模式在Symfony2中定义了HTTPS路由:(下面的YAML)

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而不是我真实的Controller的响应,因为Symfony在尝试使用HTTP访问HTTPS路由时返回重定向响应。

如何解决此问题并测试我的路线?

谢谢。

1 个答案:

答案 0 :(得分:1)

我偶然遇到了这个:

为了模拟HTTPS请求,您只需设置[' HTTPS' =>在$ client-> request();

的$ server参数中

示例:

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