Ich habe kürzlich auf Rails 4 aktualisiert und alles funktioniert gut, außer meinen Rspec-Tests.
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 "hat eine gültige Factory" do
expect(FactoryGirl.build(:invoice, :project => @project, :user => @user)).to be_valid
end
it "ist ungültig ohne eine Nummer" do
expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number => nil)).to have(1).errors_on(:number)
end
end
Beim Ausführen dieser Tests erhalte ich diesen Fehler:
Failure/Error: expect(FactoryGirl.build(:invoice, :project => @project, :user => @user, :number => nil)).to have(1).errors_on(:number)
NoMethodError:
undefined method `have' for #
# ./spec/models/invoice_spec.rb:16:in `block (2 levels) in '
Kann mir jemand sagen, was mir hier fehlt?
Ich habe bereits gegoogelt, aber nichts kam dabei heraus. Die have
Methode ist tatsächlich ziemlich standardmäßig in Rspec und ich kann nicht sehen, warum sie nicht funktionieren sollte.
Danke für jegliche Hinweise.