我正在尝试在功能RSpec示例中发布一些原始数据:
payload = "{wrongly_formatted_json}"
uri = "http://example.com"
headers["HTTP_CONTENT_TYPE"] = "application/json"
post(uri, payload, headers)
RSpec过于聪明,并将我的请求有效负载包装在另一个散列中:
{"{wrongly_formatted_json}" => nil}
我发现人们推荐@request.env['RAW_POST_DATA']
但请求对象在我的示例中不可用。我是对的,@request对象附带ActiveSupport :: TestCase,因此不能使用或是因为我包含Rack :: Test :: Methods?
如何使用RSpec发布原始数据?注意,我想发送格式错误的 JSON。我使用的是rspec-rails 2.12.0。
这是一个类似的SO question问同样的问题,但他们使用ActiveSupport :: TestCase来解决它。