2008-12-03 11 views
7

मैं एक रूस्टी वेब सेवा का एक कार्यात्मक परीक्षण लिखना चाहता हूं जिसे मैं रेल ऐप पर रूबी में काम कर रहा हूं।रेल पर रूबी में एक विश्वसनीय पोस्ट का कार्यात्मक परीक्षण

परीक्षण एक POST अनुरोध का है जहां अनुरोध का निकाय एक सादा एक्सएमएल दस्तावेज़ है और एक रूप नहीं है। यह कैसे करना है इस पर कोई संकेतक? मुझे जिस समस्या का सामना करना पड़ रहा है वह पोस्ट विधि में कॉल में बॉडी एक्सएमएल को निर्दिष्ट करने का तरीका है।

उत्तर

-1

shoulda की "should_be_restful" मैक्रो देखें। यह मैक्रो जल्द ही deprecated कंधे से होगा और केवल woulda मणि में उपलब्ध होगा।

1

आप वांछित इनपुट स्ट्रीम में @request.env['RAW_POST_BODY'] सेट करके इसे करने में सक्षम हो सकते हैं।

8

मेरे लिए काम किया है: HTTP बाकी सेवा का परीक्षण करने के लिए:

@request.env['RAW_POST_DATA'] = MY_XML_STRING 
post :create 
-1

मैं सिर्फ एक परीक्षण स्क्रिप्ट नेट का उपयोग कर लिखा था।

0

मैं http://de.softuses.com/6051

message = '<?xml version="1.0" encoding="UTF-8"?> 
<tag>content</tag>' 

@xml_request_headers ||= {} 
@xml_request_headers['HTTP_ACCEPT'] = @xml_request_headers['CONTENT_TYPE'] = 'application/xml' 

post '/controller/action.xml', message, @xml_request_headers 

पर निम्न समाधान पाया मैं वास्तव में मेरी setup विधि में @xml_request_headers परिभाषित किया और इस फाइल में मेरे सभी परीक्षणों में इसका इस्तेमाल कर सकते हैं। शायद इसे test_helper.rb पर रखना एक अच्छा विचार होगा यदि यह अधिक फ़ाइलों द्वारा आवश्यक है।

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