我现有的 rspec 和黄瓜功能都运行良好。
我正在安装 spork(实际上是猪肉轨道)以给我一些重新运行速度。
我的 rspec 用猪肉运行良好。
我刚刚按照说明修改了 env.rb(与 spec_helper.rb 的模组非常相似),但是当我尝试运行 bundle exec cucubmer --drb
时我uninitialized constant Cucumber::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
供将来参考,记下我为解决此问题所做的工作。最后,我认为这是一个奇怪的症状,因为在 Gemfile 中略微错误地引用了黄瓜导轨。
我也收到错误说:
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 中的说明,我通过将 require: false 添加到我的 Gemfile 来解决此问题,如下所示:
group :test do
gem 'cucumber-rails', require:false
#....
end