我正在学习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
答案 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'一行),因为该行应该处理其他行。