【问题标题】:Testing Sinatra app for get with request.body使用 request.body 测试 Sinatra 应用程序以获取 get
【发布时间】:2014-09-11 22:38:22
【问题描述】:

假设我有一个这样的端点:

get "/foo" do
    request.body.rewind
    data = request.body.read
    # some logic goes here
end

如何在 Sinatra 中进行测试?

如果我尝试:

it "gets /foo" do
    payload = {:bar => "baz"}
    get "/foo", payload
end

payload 作为 get 参数而不是 request.body 发送。

此时我无法将端点更改为接受参数而不是 request.body。

【问题讨论】:

    标签: ruby sinatra ruby-1.8.7


    【解决方案1】:

    查看code,您可以在env 中使用键:input 指定它,如下所示:

    get "/foo", {}, {:input => JSON.generate(payload)}
    

    假设输入是 json。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2012-06-28
      相关资源
      最近更新 更多