【发布时间】:2011-10-28 18:17:13
【问题描述】:
我已经使用 shoulda 测试框架为 Rails 中构建的 API 端点编写了功能测试。
示例如下所示:
setup do
authenticated_xml_request('xml-file-name')
post :new
end
should respond_with :success
authenticated_xml_request 是一个测试助手方法,它设置 @request.env['RAW_POST_DATA'] 包含 XML 内容。
将应用从 rails 2.3.3 升级到 rails 2.3.8 后,功能测试失败,因为接收到的 XML 内容未合并到 params 哈希中。
我正在通过 @request.accept = 使用正确的 mime 类型设置请求 “文本/xml”
我可以使用 request.raw_post 检查请求的内容,但我想保持当前设置正常工作。
此外,在开发模式下使用 cURL 或任何其他库 (rest_http) 从终端运行测试,API 运行良好。
非常感谢任何提示或帮助。
【问题讨论】:
-
可能是这里描述的类似问题stackoverflow.com/questions/5474303/…
-
是的,我试过了,但一直觉得
@request.env['action_dispatch.request.parameters']是nil
标签: ruby-on-rails testing httprequest