背景: 我有一个安装了黄瓜的rails应用程序。我想使用相关的黄瓜测试来测试部署在单独系统上的应用程序。
问题: 所以基本上我有部署的应用程序和黄瓜测试的URL,所以当我用app链接作为参数启动黄瓜 - 我需要黄瓜开始测试而不调用它所驻留的rails应用程序但是测试外部链接。
为什么需要: 黄瓜总是试图调用postgres数据库,这对我来说是一个问题,因为我正在尝试对它进行停靠,我不想在其中包含postgres(由于某些原因,这里超出了范围)。
那么,它有可能实现吗? (运行黄瓜而不调用app /调用db等其他东西)
答案 0 :(得分:1)
这可以通过在rails应用程序中定义充当代理的机架应用程序(路由到所需的端点)来实现。 例如:
class TestAppRoutes < Sinatra::Application
uri = URI.parse("http://10.0.0.0")
get '/*' do
request_url = "#{uri}/#{params['splat'][0]}"
response = Net::HTTP.get(URI.parse(request_url))
response
end
end
然后在功能/支持中定义ruby文件以实例化机架应用程序: 如果ENV ['BASE_URL'] Lookout :: Rack :: Test.app = APP :: TestAppRoutes 端
最后当你调用黄瓜时:做黄瓜BASE_URL = http://10.10.10