我有以下Sinatra应用程序:
class MyFakeAPI < Sinatra::Base
get "/" do
"Hello World"
end
get "widgets" do
# code that renders widgets.json
end
end
我正在尝试运行集成测试时,为这个Sinatra应用程序提供服务,以便/ api能够代表一个使用频率较低的第三方API。
伪造的api在通过web mock的to_rack方法调用时效果很好。
然而,当我这样装载时:
if Rails.env.test?
mount MyFakeAPI.new => "/api"
end
访问/ api呈现hello world,但访问/ api / widgets会生成rails路由错误。
如何将/ api下的所有流量路由到Sinatra应用程序?
答案 0 :(得分:3)
所以问题最终是因为我在get路由中的小部件之前错过了前导/
,所以它没有被正确路由。