使用RSpec发送原始发布数据

时间:2013-01-18 00:08:59

标签: integration-testing rspec-rails

我正在尝试在功能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来解决它。

0 个答案:

没有答案