0

minitestからコントローラーにxmlを投稿したいと思います。

通常モードでの動作は次のとおりです。

curl -X POST -H "Content-Type:text / xml" -d "@ / Users / boti / Rails / clients / kevin / search_server / db / search.xml" localhost:3000 / search

私はこれをやってみました:

test "search with invalid xml" do
  path_to_file = File.join Rails.root.to_s, 'test', 'search_invalid.xml'
  xml = File.read( path_to_file )
  @request.env['RAW_POST_DATA'] = xml
  post "/search/search", xml, {"Content-type" => "text/xml"}

しかし、そのようにして私はこの例外を受け取ります:

NoMethodError: undefined method `symbolize_keys' for #<String:0x007fbd7d863188>
4

1 に答える 1

1

私は自分のテストでこのようにしています:

path_to_file = File.join Rails.root.to_s, 'test', 'search_invalid_xml.xml'
xml = File.read( path_to_file )
@request.env['RAW_POST_DATA'] = xml
post :search, nil, {"Content-type" => "text/xml"}

次に、私のコントローラーでこのように:

search_doc = Nokogiri::XML.parse request.raw_post
于 2013-02-25T11:30:00.367 に答える