首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我在运行Rspec时得到一个未定义的方法'have‘错误?

为什么我在运行Rspec时得到一个未定义的方法'have‘错误?
EN

Stack Overflow用户
提问于 2013-12-06 01:25:32
回答 3查看 11.3K关注 0票数 23

我最近升级到了Rails4,除了我的Rspec测试之外,一切都很好。

require 'spec_helper'

describe Invoice do

  before :each do
    @user = FactoryGirl.create(:activated_user)
    person = FactoryGirl.create(:person, :user => @user, :company => nil)
    @project = FactoryGirl.create(:project, :user => @user, :person_ids => [person.id], :invoice_recipient_id => person.id)
  end

  it "has a valid factory" do
    expect(FactoryGirl.build(:invoice, :project => @project, :user => @user)).to be_valid
  end

  it "is invalid without a number" do
    expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number => nil)).to have(1).errors_on(:number)
  end

end

当运行这些测试时,我得到这个错误:

Failure/Error: expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number => nil)).to have(1).errors_on(:number)
NoMethodError:
undefined method `have' for #<RSpec::ExampleGroups::Invoice_2:0x009ge29360d910>
# ./spec/models/invoice_spec.rb:16:in `block (2 levels) in <top (required)>'

谁能告诉我我这里漏掉了什么?

我已经用谷歌搜索过了,但什么也没找到。have方法在Rspec中实际上是相当标准的,我不明白为什么它不能工作。

谢谢你的指点。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-06 07:46:38

RSpec 2.99中弃用了have系列匹配器,并从RSpec 3.0起移到了一个单独的rspec-collection_matchers gem中。这在http://myronmars.to/n/dev-blog/2013/11/rspec-2-99-and-3-0-betas-have-been-released中进行了讨论,它还给出了迁移到3.0的建议方法。具体地说,它建议安装/使用RSpec 2.99,以便查看与3.0中删除/移动的项目相关的弃用消息。

票数 48
EN

Stack Overflow用户

发布于 2018-03-11 19:14:41

在最新版本的rspec中,"have“已被弃用,但您仍然可以通过rspec-collection_matchers gem使用它。

# Gemfile
...
gem 'rspec-collection_matchers', group: :test
...

# spec/spec_helper.rb
...
require 'rspec/collection_matchers'
....
票数 5
EN

Stack Overflow用户

发布于 2013-12-06 04:22:49

好的,明白了。

我的Gemfile中有错误的版本号。

之前:

gem 'rspec-rails', '~> 3.0.0.beta'

之后:

gem 'rspec-rails'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20406625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档