Ruby版本的问题

时间:2012-03-24 13:54:13

标签: ruby-on-rails rspec cucumber

我正在学习Ruby并且必须做一些功课,但是在执行代码方面存在问题。我搜索了这个论坛和谷歌,发现这可能是不同的Ruby版本的问题,但我不知道如何解决这个问题。我试图执行:

cucumber features/filter_movie_list.feature

得到了这个:

  

我不应该看'G'#   特征/ step_definitions / movie_steps.rb:32         没有这样的文件加载 - rspec / matchers / built_in / has(LoadError)         ./features/step_definitions/movie_steps.rb:34:in /^(?:|I )should not see '([^']*)'$/' features/filter_movie_list.feature:37:in我不应该看到'G''

有人可以帮我解决这个问题或者给我链接解决方案吗?

编辑: 与此相关的movie_steps.rb是:

Then /^(?:|I )should not see '([^']*)'$/ do |text|
  if page.respond_to? :should
    page.find('#movies').should have_no_content(text)
  else
    assert page.find('#movies').has_no_content?(text)
  end

end

1 个答案:

答案 0 :(得分:2)

错误消息显示Cucumber无法找到RSpec。

要解决此问题,请编辑Gemfile并添加它们,这应该可以解决它。

group :test do
  gem 'rspec'  # Behavior Driven Development (BDD) for Ruby
  gem 'rspec-core'  # RSpec runner and example groups.
  gem 'rspec-expectations'  # RSpec matchers for should and should_not.
  gem 'rspec-mocks'  # RSpec test double framework with stubbing and mocking.
  gem 'rspec-rails'  # RSpec version 2.x for Rails version 3.x.
end

如果确实解决了这个问题,你可以删除除第一行之外的所有行('rspec'一行),因为该行应该处理其他行。