看起来像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/