我现有的rspecs和黄瓜功能都运行良好。
我正在安装spork(事实上是spork-rails)给我一些重新加速。
我的sppec运行得很好。
我刚刚按照说明修改了env.rb(非常类似于spec_helper.rb的mod),但是当我尝试运行uninitialized constant Cucumber::Rails
时,我得到了bundle exec cucubmer --drb
。
Rails 3.2
有什么想法吗?
这是我的env.rb:
require 'rubygems'
require 'spork'
#uncomment the following line to use spork with the debugger
require 'spork/ext/ruby-debug'
if Spork.using_spork?
Spork.prefork do
require 'rails'
require 'cucumber/rails'
Capybara.default_selector = :css
begin
DatabaseCleaner.strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
end
Spork.each_run do
# This code will be run each time you run your specs.
require 'cucumber/rails'
Cucumber::Rails::Database.javascript_strategy = :truncation
ActionController::Base.allow_rescue = false
module NavigationHelpers
def path_to(page_name)
case page_name
when /the home page/
root_path
# Add more page name => path mappings here
else
if path = match_rails_path_for(page_name)
path
else
raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
"Now, go and add a mapping in features/support/paths.rb"
end
end
end
def match_rails_path_for(page_name)
if page_name.match(/the (.*) page/)
return send "#{$1.gsub(" ", "_")}_path" rescue nil
end
end
end
World(NavigationHelpers)
end
else
#omitted
end
答案 0 :(得分:4)
为了将来的参考,请注意我做了什么来解决这个问题。最后我认为这是在Gemfile中略微错误引用cucumber-rails的一个奇怪症状。
我也有错误说:
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
按照https://github.com/cucumber/cucumber/issues/249中的说明,我通过向我的Gemfile添加require:false来修复此问题,如下所示:
group :test do
gem 'cucumber-rails', require:false
#....
end