加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rspec NoMethodError:未定义的方法`call’,但

发布时间:2020-12-17 01:46:35 所属栏目:百科 来源:网络整理
导读:我是一个试图学习的rails / rspec newb.我设置了以下数据模型(摘录) t.string :foot.string :bart.date :future_date 我有一个Web表单来创建与用户关联的条目,类似于此rails tutorial中的微博.Web表单看起来像这样(摘录): %= f.label :foo %%= f.text_field
我是一个试图学习的rails / rspec newb.我设置了以下数据模型(摘录)

t.string :foo
t.string :bar
t.date :future_date

我有一个Web表单来创建与用户关联的条目,类似于此rails tutorial中的微博.Web表单看起来像这样(摘录):

<%= f.label :foo %>
<%= f.text_field :foo %>
<%= f.label :bar %>
<%= f.text_field :bar %>
<%= f.date_select :future_date %>

使用“创建”按钮启动帖子.一切似乎通过rails控制台正常工作;正确显示Web表单,正确创建条目,正确填充数据库.但是,当我运行rspec时,我得到了

NoMethodError:
  undefined method `call' for #<RSpec::Expectations::ExpectationTarget:0x0000000492b7c0>

这是相关的请求规范(摘录):

it "should not create a foobar" do
  expect { click_button "Create" }.should_not change(Foobar,:count)
end

换句话说,单击“创建”,没有填写任何信息.稍后我有一个类似的例子,信息填写但几乎相同的click_button也会抛出此错误(应该更改.by(1)).我有类似的click_button测试工作正常的用户创建部分(没有/输入的东西),除了future_date,非常相似.那,加上我在无休止的谷歌搜索中遇到的东西,让我相信日期是某种程度上的责任,也许是版本或其他东西的不一致.特别是因为在实际使用中一切都很好.这是ruby 1.9.3,Rails 3.2.6和Rspec 2.11.1.任何见解都非常感谢.

解决方法

在RSpec> = 2.11中,您应该使用方法而不是应该

expect { click_button "Create" }.to_not change(Foobar,:count)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读