2012-06-07 10 views
5

के साथ सामग्री-प्रकार सेट करने में असमर्थ मैं एक विश्वसनीय API का परीक्षण कर रहा हूं और यह जांचने की आवश्यकता है कि एप्लिकेशन आने वाले डेटा को सही तरीके से पार कर लेता है। आने वाले डेटा का प्रकार या तो एक्सएमएल या जेएसओएन प्रारूप में हो सकता है। यह निर्धारित करने के लिए कि डेटा का इलाज कैसे किया जाएगा, एप्लिकेशन हेडर में सामग्री-प्रकार मान को देखता है।सिम्फनी 2 कार्यात्मक टेस्ट

आवेदक अच्छी तरह से काम करता है लेकिन मैं सिम्फनी 2 में इसके लिए एक उचित कार्यात्मक परीक्षण लिखने में सक्षम नहीं हूं क्योंकि मुझे यूआरएल कॉल करते समय सामग्री-प्रकार सेट करने में असमर्थ लगता है।

मैं कुछ इस तरह कर रहा हूँ:

$crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Content-Type" => "text/xml")); 

हालांकि यह किसी भी त्रुटि फेंक नहीं है, अपने आवेदन में यह लेने में असमर्थ है। मैंने फ़ायरफ़ॉक्स की "पोस्टर" प्लगइन के साथ-साथ cUrl के साथ सफलतापूर्वक मेरी स्क्रिप्ट का परीक्षण किया।

किसी भी मदद/विचार की सराहना की जाएगी।

उत्तर

5

मैं Symfony2 testing section पर क्या देख सकते हैं (जो Crawler और Client का उपयोग करता है आवेदन के साथ बातचीत करने के लिए) से, आप 'CONTENT_TYPE' => 'application/xml' के रूप में यह है करने के लिए लगता है कि कर रहे हैं। तो आप निम्नलिखित का प्रयास करना चाहिए:

$crawler = $client->request('PUT','/api/record/', array("data" => $xmlData), array(), array('CONTENT_TYPE' => 'application/xml')); 

ध्यान दें कि मैं application/xml को text/xml से यह बदल गया है, लेकिन दोनों काम करना चाहिए।