मैं एक साधारण रेल परियोजना में नियंत्रक ('पार्स') विधि ('अनुक्रमणिका') में POST के माध्यम से XML सामग्री भेजने की कोशिश कर रहा हूं। यह बिल्कुल सही नहीं है क्योंकि मेरा मॉडल नाम अलग है, कहें, 'कार'। मैं एक कार्यात्मक परीक्षण है कि काम करता है में निम्नलिखित है:ककड़ी से HTTP पोस्ट XML सामग्री
def test_index
...
data_file_path = File.dirname(__FILE__) +
'/../../app/views/layouts/index.xml.erb'
message = ERB.new(File.read(data_file_path))
xml_result = message.result(binding)
doc = REXML::Document.new xml_result
@request.env['RAW_POST_DATA'] = xml_result
post :index
assert_response :success
end
मैं अब ककड़ी (0.4.3) कोशिश कर रहा हूँ, और कैसे मैं एक "जब" खंड में पोस्ट अनुरोध अनुकरण कर सकते हैं के रूप में जानना चाहते हैं। मैं केवल एक नियंत्रक विधि 'सूचकांक' है, और मुझे config/routes.rb में निम्नलिखित है:
ActionController::Routing::Routes.draw do |map|
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
- ककड़ी भीतर webrat केवल HTML के लिए है, और ऐसा नहीं कर सकते पोस्ट?
- @request चर ककड़ी पर्यावरण से उपलब्ध नहीं है?
- अगर मैं की तरह 'यात्रा सूचकांक' कुछ का उपयोग (यह मानते हुए यह है पार्स नियंत्रक, सूचकांक विधि) में सुविधाओं/step_definitions/car_steps.rb, मैं निम्नलिखित त्रुटि मिलती है:
undefined method `index' for # (NoMethodError)
पर किसी भी सुझाव की सराहना XML सामग्री के साथ HTTP पोस्ट के लिए ककड़ी के साथ एकीकरण परीक्षण कैसे करें।
@mbuf, यदि उत्तर में से किसी एक ने आपकी समस्या का समाधान किया है तो आपको इसे मतदान क्षेत्र के नीचे चेकमार्क पर क्लिक करके "उत्तर" के रूप में चिह्नित करना चाहिए। –
हो गया। मुझे बताने के लिए धन्यवाद! – mbuf
मैंने पोस्ट किया है कि यहां रेल और ककड़ी का उपयोग करके JSON POST का परीक्षण कैसे करें: http://stackoverflow.com/questions/5098626/how-to-test-posts-in-rails-capybara-cucumber-or-rspec/10404063# 10404063 –