正在测试Sinatra应用程序以获取request.body



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

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

有效载荷作为get参数发送,而不是作为request.body.

目前,我无法将端点更改为接受params而不是request.body。

查看代码,可以在env中用键:input指定它,如下所示:

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

假设输入是json。

最新更新