2013-11-03 27 views
8

Xin chào, tôi đang sử dụng phpunit để thử nghiệm và Symfony \ Bundle \ FrameworkBundle \ Test \ WebTestCase để kiểm tra đơn vị. Cho đến nay không có vấn đề gì nhưng bây giờ chúng tôi bắt đầu sử dụng https và các thử nghiệm của tôi không hoạt động nữa. Tôi bắt đầu nhận được mã phản hồi 301 cho mọi yêu cầu của tôi trong các thử nghiệm của mình. Câu hỏi của tôi là làm thế nào để tôi nói với Symfony \ Component \ HttpKernel \ Client để yêu cầu https: //localhost.com/uri thay vì http: //localhost.com/uri?Làm thế nào để yêu cầu https trong thử nghiệm chức năng của symfony2?

EDIT

Trong trang web symfony http://symfony.com/doc/current/book/testing.html họ thấy làm thế nào để cấu hình các thông số máy chủ và có một mã số hòa bình như

$client->request(
'GET', 
'/demo/hello/Fabien', 
array(), 
array(), 
array(
    'CONTENT_TYPE'   => 'application/json', 
    'HTTP_REFERER'   => '/foo/bar', 
    'HTTP_X-Requested-With' => 'XMLHttpRequest', 
) 
); 

tôi đã cố gắng để cung cấp cho yếu tố HTTPS như đã đề cập trong http://php.net/manual/en/reserved.variables.server.php thay đổi mã của tôi như

$client->request('GET', 
     '/'.$version.'/agencies/'.$agencyId, 
     array(), 
     array(), 
     array('HTTPS' => 'on') 
     ); 

Tuy nhiên, nó vẫn không hoạt động?

+0

bạn đã thử $ client-> request ('GET', 'https: // localhost/uri'); ? – ziollek

+0

Anh ấy muốn yêu cầu ** https ** không phải là yêu cầu ** http **. – ferdynator

+2

Đối số thứ ba của $ this-> createClient() là một mảng máy chủ. Điều gì sẽ xảy ra nếu bạn đặt phần tử 'https'? –

Trả lời

12

Nhờ @WouterJ i thay đổi tạo ra khách hàng của tôi từ:

static::createClient(); 

tới:

static::createClient(array(),array('HTTPS' => true)); 

nó giải quyết vấn đề của tôi. Nó chỉ ra rằng tôi không thể cung cấp thông số HTTP_HOST và HTTPS trong yêu cầu của khách hàng ->. Nó phải được xác định trong khi tạo khách hàng.

+4

Một giải pháp thay thế có thể là gọi '$ client-> setServerParameter ('HTTPS', true);' trên một đối tượng client đã được khởi tạo –

Các vấn đề liên quan