gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:42:42 25 4
gpt4 key购买 nike

我有一个 sinatra 服务器,根据 gemfile,有不同的 gem 组。具体有应用组、测试组、开发组。如何在这三个组之间切换我的应用程序?具体来说,我想在测试模式下运行我的服务器,以便我可以进行 TDD。

这是 gemfile。

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

最佳答案

gem 组

Bundler 默认安装一切。你可能想要的是这样的:

$ bundle install --without test development

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

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

Sinatra 环境

既然你明确提到了 sinatra,你可能也对 sinatra 配置 block 感兴趣

# 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 设置不同的环境。

例子:

RACK_ENV=test ruby mytest.rb

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

关于testing - 如何在开发和测试之间切换我的 sinatra 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26413485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com