ruby-on-rails – RSpec请求测试在POST JSON参数中合并数组中的散列

看起来像RSpec中的错误,但也许我错过了一些.

我有一个请求规范我发布一个包含哈希数组的JSON

规格/请求/ dummy_request_spec.rb:

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

由于一些奇怪的原因,RSpec将哈希合并为一个元素,然后将其发送到服务器.
打印出控制器中收到的参数:

data: [
  {
    details: {
      param1: 1,param2: 2
    },]

版本:
rspec的-2.13.0
轨-3.2.10

很奇怪!!

谢谢

解决方法

得到它了!表单数据不支持散列数组
RSpec认将其作为表单数据发布.解:
post '...',{...}.to_json,{'CONTENT_TYPE' => "application/json",'ACCEPT' => 'application/json'}

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...