首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在开发和测试之间切换我的sinatra服务器?

如何在开发和测试之间切换我的sinatra服务器?
EN

Stack Overflow用户
提问于 2014-10-16 20:37:44
回答 1查看 268关注 0票数 1

我有一台sinatra服务器,根据宝石文件,有不同的宝石组。具体来说,有一个应用程序组、一个测试组和一个开发组。如何在这三个组之间切换我的应用程序?具体来说,我希望在测试模式下运行我的服务器,这样我就可以执行TDD了。

这是宝石档案。

代码语言:javascript
复制
source 'https://rubygems.org'
ruby '2.0.0'

gem 'sinatra'
gem 'sinatra-contrib', require: %w(sinatra/config_file)
gem 'thin'
gem 'slim'
gem 'sinatra-assetpack'
gem 'zurb-foundation'
gem 'compass'

group :application do
  # Here should be all the specifics for the application
end

group :test do
  gem 'rspec'
  gem 'coveralls'
  gem 'capybara'
  gem 'rubocop'
end

group :development do
  gem 'rake'
  gem 'guard', '2.2.3'
  gem 'guard-rspec'
  gem 'guard-rubocop'
  gem 'guard-livereload'
  gem 'guard-shotgun', git: 'git@github.com:rchampourlier/guard-shotgun.git', branch: 'master'
  gem 'blam'
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-17 11:24:56

宝石群

在默认情况下,邦德勒安装所有东西。你可能想要的是这样的东西:

代码语言:javascript
复制
$ bundle install --without test development

对于您的生产服务器,此安装除了测试和开发组之外的所有内容。

来源:http://bundler.io/v1.3/groups.html

Sinatra环境

由于您提到sinatra显式,您可能也对sinatra配置块感兴趣。

代码语言:javascript
复制
# run only in development environment
configure :development do
  use Rack::Session::Pool, :key => '', :expire_after => 60 * 10
end

# run only in test environment
configure :test do
  use Rack::Session::Pool, :key => 'session', :expire_after => 60 * 60
end

# run everytime
configure do
  MongoMapper.database = 'food'
  User.ensure_index(:username)
  Product.ensure_index(:rnd)
end

您可以使用RACK_ENV设置不同的环境。

示例:

代码语言:javascript
复制
RACK_ENV=test ruby mytest.rb

来源:http://www.sinatrarb.com/configuration.html#built-in-settings

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26413485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档