「已注销」 2014-11-08 15:04 采纳率: 0%
浏览 42
已采纳

PHP - Symfony2功能测试HTTPS路由

I have defined an HTTPS route in Symfony2 using schemas: (YAML below)

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

And now I wish to perform functional tests on that very route,

(My test class derives from WebTestCase)

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

I seem to always get a RedirectResponse from Symfony instead of my real Controller's response, since Symfony returns a redirection response when trying to access an HTTPS route using HTTP.

How can I solve this problem and test my route?

Thank you.

  • 写回答

1条回答 默认 最新

  • dongzhuo0895 2014-11-08 16:02
    关注

    I've accidentally encountered this:

    In order to simulate an HTTPS request, you simply have to set ['HTTPS' => true] in the $server parameter of $client->request();

    Example:

    $client = static::createClient();
    $client->request('POST', '/login', [], [], ['HTTPS' => true]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?