在env.rb之外需要黄瓜铁路.在调用env.rb之前,其余的加载被推迟

Alp*_*a01 22 ruby ruby-on-rails cucumber

这个env.rb错误是什么意思,请问?

root# rake db:migrate
WARNING: Cucumber-rails required outside of env.rb.  The rest of loading is being defered until env.rb is called.
  To avoid this warning, move 'gem cucumber-rails' under only group :test in your Gemfile
Run Code Online (Sandbox Code Playgroud)

gemfile在这里:

source 'http://rubygems.org'

gem 'rails', '3.1.0'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

# for Heroku deployment - as described in Ap. A of ELLS book
group :development, :test do
  gem 'sqlite3'
  gem 'ruby-debug19', :require => 'ruby-debug'
  gem 'cucumber-rails'
  gem 'cucumber-rails-training-wheels'
  gem 'database_cleaner'
  gem 'capybara'
  gem 'launchy'
end
group :production do
#  gem 'pg'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'therubyracer'              
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
gem 'haml'
Run Code Online (Sandbox Code Playgroud)

Bra*_*est 53

这就是捆绑器的工作方式,你需要在:require => false之后添加gem 'cucumber-rails'.我不得不说错误信息有点误导.

  • 我在我的应用程序中发现,即使在特定测试组内部仍然产生此错误,并且`:require => false`是使错误消失的唯一方法.因人而异 (23认同)