Ruby on rails 运行cucumber而不启动远程网站测试的起始轨道
背景: 我有一个安装了cucumber的rails应用程序。我想使用cucumber测试来测试部署在单独系统上的应用程序 问题: 因此,基本上我有部署的应用程序和cucumber测试的URL,因此当我以应用程序链接作为参数启动cucumber时-我要求cucumber启动测试,而不调用它所在的rails应用程序,但测试外部链接。 为什么需要: Cucumber总是试图调用postgres数据库,这给我带来了问题,因为我正在尝试将其停靠,我不想将postgres包含在其中(由于某些原因,这超出了本文的范围)Ruby on rails 运行cucumber而不启动远程网站测试的起始轨道,ruby-on-rails,ruby,docker,cucumber,automated-tests,Ruby On Rails,Ruby,Docker,Cucumber,Automated Tests,背景: 我有一个安装了cucumber的rails应用程序。我想使用cucumber测试来测试部署在单独系统上的应用程序 问题: 因此,基本上我有部署的应用程序和cucumber测试的URL,因此当我以应用程序链接作为参数启动cucumber时-我要求cucumber启动测试,而不调用它所在的rails应用程序,但测试外部链接。 为什么需要: Cucumber总是试图调用postgres数据库,这给我带来了问题,因为我正在尝试将其停靠,我不想将postgres包含在其中(由于某些原因,这超出了本
那么,有可能实现这一点吗?(运行cucumber而不调用其他东西,如app/call to db)这可以通过在rails应用程序中定义作为代理(路由到您想要的端点)的rack应用程序来实现。 例如:
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
类测试路径
然后在features/support中定义一个ruby文件来实例化rack应用程序:
if ENV['BASE_URL']
Lookout::Rack::Test.app=app::TestAppRoutes
结束
最后,在调用cucumber时:docucumber BASE\uurl=
结帐: