我今天遇到了同一问题,找到了解决方案。
在您
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)