ruby-on-rails – 黄瓜未定义的方法

我用黄瓜和水豚

我有几个类似的错误.

对于步骤:

Then /I should see movies of rating 'PG' or 'R'/ do
  page.body.should match(/<td>PG<\/td>/)
  page.body.should match(/<td>R<\/td>/)
end

黄瓜错误

undefined method `match' for #<Cucumber::Rails::World:...> (NoMethodError)
./features/step_deFinitions/movie_steps.rb:37:in 
   `/I should see movies of rating 'PG' or 'R'/'

对于步骤:

Then /I should see an empty table/ do
  page.body.scan(/<tr>/).length.should == 0
end

黄瓜错误

undefined method `should' for 1:Fixnum (NoMethodError)
./features/step_deFinitions/movie_steps.rb:46:in 
      `/I should see an empty table/'

并为步骤:

Then /I should see all of the movies/ do
  Movie.find(:all).length.should page.body.scan(/<tr>/).length
end

undefined method `should' for 10:Fixnum (NoMethodError)
./features/step_deFinitions/movie_steps.rb:59:in 
    `/I should see all of the movies/'

整个文件的步骤是here

正如您所看到的,这些错误非常相似,但我无法理解导致此问题的原因.

解决方法

在我看来,你对rspec期望有问题.尝试添加

require 'rspec/expectations'

到您的env.rb和等效的Gemfile.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...