我正在使用将Webhooks发送到我的应用程序的服务。我想写RSpec测试来处理它们。让此请求完全相同非常重要(远程呼叫者IP,带有加密内容的标头)。
我试图将请求保存为json:
class WebhookController < ApplicationController
def some_callback
File.open('temp/request_example.json','w') do |f|
f.write request.to_json
end
end
end
所以我以后可以这样做:
describe WebhookController do
subject { get :some_callback, JSON.parse(File.open('temp/request_example.json')) }
it 'does something' do;end
end
但很遗憾,您无法致电request.to_json
(request.to_json
IOError: not opened for reading
)。您无法直接转到request.body
或request.headers
。
如何保存此类请求以便以后在测试中使用?它有没有宝石?