如何从IRB控制台调用Sinatra路线

时间:2016-01-26 01:11:20

标签: ruby sinatra irb

我将我的应用程序加载到IRB控制台,方法是将 irb 键入bash,然后在控制台中使用:

require 'myapp.rb'

这一切都成功了,现在我想打电话给我的一条路线。

get '/stuff' do
  '<HTML><BODY><CENTER>App is up and running! '\
  'Less logging...</CENTER></BODY></HTML>'
end

如何使用IRB控制台测试此路线?

3 个答案:

答案 0 :(得分:0)

您在寻找测试吗?如果是这样,你应该尝试一个测试框架。

但是有可能在irb中这样做: Link

转到&#34;使用Rack :: Test而不使用Mixin&#34;

> require_relative 'myapp'
> require 'rack/test'
> browser = Rack::Test::Session.new(Rack::MockSession.new(Sinatra::Application))
> browser.get '/stuff'
> browser.last_response.body

答案 1 :(得分:0)

我发现了Tux宝石。它允许从IRB控制台内调用get和post路由。

答案 2 :(得分:0)

试试这个:

class MySinatraApp < Sinatra::Base
    get "/test_endpoint/"
        "Hello world"
    end
    # ...
end

require "rack/test"
def app
  MySinatraApp
end

Rack::Test::Methods.get("/test_endpoint/")