как передать XML-файл в качестве параметра в интеграционном тесте?

Я пишу интеграционный тест на рельсах, для этого мне нужно передать файл XML в качестве параметра, я попробовал следующий способ.

 test "integration" do
    @controller = ApiController.new
    file = "xxx/yyy.xml"
    post "register_user",file
    assert_true "something", @response.body
 end

но это показывает, как показано ниже, ошибка,

NoMethodError: неопределенный метод `symbolize_keys' для "/xxx/yyy.xml":String

Кто-нибудь, пожалуйста, помогите мне...


person Pragash    schedule 18.05.2011    source источник


Ответы (1)


Вы также можете передать xml следующим образом:

test "integration" do
    @controller = ApiController.new
    entry = <<-EOF
      <atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
          xmlns:gd='http://schemas.google.com/g/2005'>
      </atom:entry>
    EOF

    url = URI.parse('http://www.example.com/todo.cgi')
    req = Net::HTTP::Post.new(register_user, entry)
 end
person thenengah    schedule 18.05.2011
comment
Сэм, теперь у меня такая же ошибка, NoMethodError: неопределенный метод `symbolize_keys' для #‹String:0xb5b80528› - person Pragash; 18.05.2011
comment
теперь он говорит, NoMethodError: неопределенный метод `strip' для nil:NilClass - person Pragash; 18.05.2011
comment
См. мой ответ на еще один вопрос здесь, Переполнение стека - person Raul Pinto; 13.11.2012