如何从 IRB 控制台调用 Sinatra 路由
How to call a Sinatra route from IRB console
我通过在 bash 中输入 irb 然后在控制台中使用
将我的应用加载到 IRB 控制台
require 'myapp.rb'
一切顺利,现在我想呼叫我的路线之一。
get '/stuff' do
'<HTML><BODY><CENTER>App is up and running! '\
'Less logging...</CENTER></BODY></HTML>'
end
如何使用 IRB 控制台测试此路由?
您要测试吗?如果是这样,你应该尝试一个测试框架。
但在 irb 中可以这样做:
Link
然后转到 "Using Rack::Test without the Mixin"
> require_relative 'myapp'
> require 'rack/test'
> browser = Rack::Test::Session.new(Rack::MockSession.new(Sinatra::Application))
> browser.get '/stuff'
> browser.last_response.body
我发现了晚礼服 gem。它允许从 IRB 控制台中调用 get 和 post 路由。
试试这个:
class MySinatraApp < Sinatra::Base
get "/test_endpoint/"
"Hello world"
end
# ...
end
require "rack/test"
def app
MySinatraApp
end
Rack::Test::Methods.get("/test_endpoint/")
我通过在 bash 中输入 irb 然后在控制台中使用
将我的应用加载到 IRB 控制台require 'myapp.rb'
一切顺利,现在我想呼叫我的路线之一。
get '/stuff' do
'<HTML><BODY><CENTER>App is up and running! '\
'Less logging...</CENTER></BODY></HTML>'
end
如何使用 IRB 控制台测试此路由?
您要测试吗?如果是这样,你应该尝试一个测试框架。
但在 irb 中可以这样做: Link
然后转到 "Using Rack::Test without the Mixin"
> require_relative 'myapp'
> require 'rack/test'
> browser = Rack::Test::Session.new(Rack::MockSession.new(Sinatra::Application))
> browser.get '/stuff'
> browser.last_response.body
我发现了晚礼服 gem。它允许从 IRB 控制台中调用 get 和 post 路由。
试试这个:
class MySinatraApp < Sinatra::Base
get "/test_endpoint/"
"Hello world"
end
# ...
end
require "rack/test"
def app
MySinatraApp
end
Rack::Test::Methods.get("/test_endpoint/")