ruby-on-rails - RSpec请求测试合并了POST JSON参数中数组中的哈希

标签 ruby-on-rails json rspec request params

看起来像RSpec中的错误,但也许我遗漏了一些东西。

我有一个请求规范,我在其中发布了一个包含哈希数组的JSON:

规范/要求/dummy_request_spec.rb:

post "http://my.server.com/some/route", {
  format: :json,
  data: [
    {
      details: {
        param1: 1
      },
    },
    {
      details: {
        param2: 1
      }
    }
  ]
}

出于某种奇怪的原因,RSpec将散列合并到一个元素中,然后将其发送到服务器。
打印出在 Controller 中接收到的参数:
data: [
  {
    details: {
      param1: 1,
      param2: 2
    },
  },
]

版本:
rspec-2.13.0
rails-3.2.10

很奇怪!!

谢谢

最佳答案

知道了!表单数据不支持哈希数组
默认情况下,RSpec将其发布为表单数据。解决方案:

post '...', {...}.to_json, {'CONTENT_TYPE' => "application/json", 'ACCEPT' => 'application/json'}

关于ruby-on-rails - RSpec请求测试合并了POST JSON参数中数组中的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337609/

相关文章:

json - 将 Guava HashMultimap 转换为 json

ruby-on-rails - 带有 rspec 和 factory_girl_rails 的 Rails 4 安装引擎

ruby-on-rails - 为 rspec 测试 rails 临时设置 consider_all_requests_local

ruby-on-rails - 在 Ruby on Rails 上通过 form_tag 表单上传文件

jquery - 单击按钮时如何让按钮提供两种不同的功能? -jQuery/CSS

css - Stylesheet_link_tag 已损坏,文件路径不起作用,我这辈子都想不通为什么。有任何想法吗?

ruby-on-rails - "PGError: no connection to the server"使用 Spork 运行规范

javascript - 如何检索从桌面应用程序发送到 Rails API 的图像

Python JSON数据导入

java - 我如何从 url (java) 获取 JSON 作为字符串