8

हाय मैं यूनिट परीक्षण के लिए परीक्षण और सिम्फनी \ बंडल \ फ्रेमवर्कबंडल \ टेस्ट \ WebTestCase के लिए phpunit का उपयोग कर रहा हूं। अब तक कोई समस्या नहीं थी लेकिन अब हम https का उपयोग करना शुरू कर देते हैं और मेरे परीक्षण अब और काम नहीं कर रहे हैं। मुझे अपने परीक्षणों में मेरे हर अनुरोध के लिए 301 प्रतिक्रिया कोड प्राप्त करना शुरू हो गया है। मेरा सवाल यह है कि मैं https पर अनुरोध करने के लिए सिम्फनी \ घटक \ Http कर्नेल \ क्लाइंट को कैसे बताऊं: http: //localhost.com/uri के बजाय //localhost.com/uri?symfony2 कार्यात्मक परीक्षण में https अनुरोध कैसे करें?

संपादित

सिम्फोनी वेबसाइट 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') 
     ); 

हालांकि, यह अभी भी काम नहीं कर रहा है?

static::createClient(); 

लिए:

+0

क्या आपने $ ग्राहक-> अनुरोध ('प्राप्त करें', 'https: // localhost/uri') का प्रयास किया था; ? – ziollek

+0

वह एक ** https ** अनुरोध ** ** ** ** अनुरोध नहीं चाहता है। – ferdynator

+2

$-- createClient() का तीसरा तर्क एक सर्वर सरणी है। यदि आप 'https' तत्व सेट करते हैं तो क्या होगा? –

उत्तर

12

@WouterJ के लिए धन्यवाद मैं से मेरे मुवक्किल सृजन बदल

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

यह मेरी समस्या हल। यह पता चला है कि मैं क्लाइंट -> अनुरोध में HTTP_HOST और HTTPS पैरामीटर नहीं दे सकता। यह ग्राहक निर्माण के दौरान निर्धारित किया जाना चाहिए।

+4

एक संभावित वैकल्पिक समाधान '$ क्लाइंट-> सेटसेवर पैरामीटर ('HTTPS', सत्य) को कॉल कर रहा है;' पहले से ही तत्काल ग्राहक ऑब्जेक्ट पर –

संबंधित मुद्दे