3

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

4

0 回答 0