如何在Rails功能测试中发送原始发布数据?

如何在Rails功能测试中发送原始发布数据?,第1张

如何在Rails功能测试中发送原始发布数据?

我今天遇到了同一问题,找到了解决方案。

在您

test_helper.rb
的内部定义以下方法
ActiveSupport::TestCase

def raw_post(action, params, body)  @request.env['RAW_POST_DATA'] = body  response = post(action, params)  @request.env.delete('RAW_POST_DATA')  responseend

在功能测试中,与

post
方法一样使用它,但将原始文章正文作为第三个参数传递。

class LegacyOrderUpdateControllerTest < ActionController::TestCase  test "sending json" do    raw_post :index, {}, {:foo => "bar", :bool => true}.to_json  endend

我在Rails 2.3.4上使用读取原始文章正文时对此进行了测试

request.raw_post

代替

request.body.read

如果您查看源代码,您会发现它

raw_post
只是在env哈希中加上了对它
request.body.read
的检查。
RAW_POST_DATA``request



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5477656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存